如何定義乙個引數?
function fname()
statements;
或者fname()
statemants;
即可;執行函式:
$ fname;#執行函式
傳遞引數:
$fname arg1 arg2 ;#傳遞引數
我們可以在函式中使用引數:
fname()
echo $1 $2 #列印第乙個和第二個引數
echo 「$@」#列印全部引數
echo 「$*」#類似以
$@ ,但是引數被作為單個實體
return 0; #返回值
特殊的,引數可以通過script
進行呼叫
----script:$1
$n是第
n個引數
「$@」 是全部引數。
「$*」 類似」$@」,但因為引數個數是單數的,較不常用。
bash中的函式支援遞迴呼叫
f(){echo $1
f hello
sleep1
這裡我們可以了解一下fork bomb(fork
炸彈).
詳見下一章。
匯出函式
函式也可以像環境變數一樣用export
匯出,這樣,函式的作用域就可以擴充套件到子程序;
export -f fname
讀取命令返回值(狀態)
如果乙個命令執行了,我們想知道到底有沒有成功,用$?
例如:ls /dev
echo $?
如果ls
訪問成功那麼將返回列印
0,否則列印非0;
ls /root
echo $?
會列印非零
linux 函式和指令碼
function 可以省略 fname 為函式的名稱 function fname 函式的執行 fname 定義乙個名為 12.sh 的函式指令碼 bin bash function local 定義的物件只能在函式類起作用 區域性變數 checkid 執行上面的sh函式指令碼 賦予當前使用者 12...
shell指令碼 函式傳遞引數
在乙個指令碼中,多個函式之間可能需要相互傳遞引數,之前一直對引數的傳遞以及引用有些疑問,今天做了幾個小測試例子 1 bin bash function f1 function f2 f1 1執行結果 temp2.sh pp mj ubuntu temp2.sh pp f1pp f2pp2 bin b...
shell 指令碼的函式引數
表示提供到shell指令碼或者函式的引數總數 1 表示第乙個引數。ne 表示 不等於 另外 整數比較 eq 等於,如 if a eq b ne 不等於,如 if a ne b gt 大於,如 if a gt b ge 大於等於,如 if a ge b lt 小於,如 if a lt b le 小於等...