linux指令碼 函式和引數

2021-06-16 20:59:29 字數 875 閱讀 5963

如何定義乙個引數?

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 小於等...