funname ()
示例1:定義並呼叫無返回值的函式
#!/bin/basha=1b=2
c=`expr $a +$b`
demofunc()"}
demofunc
---output:
a+b=3
示例2: 定義並呼叫有返回值的函式
#!/bin/basha=1b=2
demofunc()
}demofunc
echo
"輸入的兩個數字之和為 $? !
" #函式返回值在呼叫函式後,通過 $? 獲取
注: 1.所有函式在使用前必須先定義。這意味著必須將函式放在指令碼開始部分,直至shell直譯器首次發現它之後,才可以使用。
2.呼叫函式僅使用其函式名即可。
我們可以在呼叫函式的時候給其傳遞引數,例如:
#!/bin/bashfunwithparam() !
"#從10開始,獲取引數必須用 $ 的方式
echo
"第十乙個引數為 $ !
"echo
"引數總數有 $# 個!
"echo
"作為乙個字串輸出所有引數 $* !"}
funwithparam 12
3456
78910
11---output:
第乙個引數為
1 !第二個引數為
2 !第二個引數為
3 !第十個引數為
10 !第十乙個引數為
11 !引數總數有
11 個!作為乙個字串輸出所有引數 12
3456
78910
11 !
此外,還可以使用以下特殊字元用來處理引數:
引數處理
說明$#
傳遞到指令碼的引數個數
$*以乙個單字串顯示所有向指令碼傳遞的引數
$$指令碼執行的當前程序id號
$!後台執行的最後乙個程序的id號
$@與$*相同,但是使用時加引號,並在引號中返回每個引數。
$-顯示shell使用的當前選項,與set命令功能相同。
$?顯示最後命令的退出狀態。0表示沒有錯誤,其他任何值表明有錯誤。
學習筆記 Linux學習
echo i am whoami 反引號裡的內容會被當做命令執行 echo the cpu in my pc has cat proc cpuinfo grep c processor cores 等價於反引號 a 10 定義乙個變數,等號兩邊不能有空格 echo a的值為 a a的值為10 ech...
linux學習筆記
開機流程簡介 1 載入 bios 的硬體資訊,並取得第乙個開機裝置的代號 2 讀取第乙個開機裝置的 mbr 的 boot loader 亦即是 lilo,grub,spfdisk 等等 的開機資訊 3 載入 kernel 作業系統核心資訊,kernel 開始解壓縮,並且嘗試驅動所有硬體裝置 4 ke...
Linux 學習筆記
配置 telnet 服務 vi etc hosts.deny 在all all 行前加 號注釋,登出該行。新增一行all all 用 登出disable yes,或者修改為 disble no vi etc pam.d login 在auth required lib security pam se...