Shell指令碼程式設計之Shell函式

2022-05-05 01:09:09 字數 938 閱讀 5728

1.linux shell可以使用者定義函式,然後在shell指令碼中可以隨便呼叫:

shell中函式的定義格式如下:

:

[function] funname [()]

!

(1)可以帶function fun()定義,也可以直接fun()定義,不帶任何引數

(2)引數返回,可以顯示加:return返回,如果不加,將以最後一條命令執行結果,做為返回值,return後跟數值n(0-255)

2.函式例項:

demofun()

echo

"-----函式開始執行-----

"demofun

echo

"-----函式執行完畢-----

"funwithreturn()

funwithreturn

echo

"輸入的兩個數字之和為 $? !

"

執行結果:

(1)函式返回值在呼叫該函式後通過  $?  來獲得

(2)所有函式在使用前必須定義,這意味著必須將函式放在指令碼開始部分,直至shell直譯器首次發現它時,才可以使用,呼叫函式僅使用其函式名即可

3.函式引數:在shell中,呼叫函式時可以向其傳遞引數,在函式體內部,通過 $n  的形式來獲取引數的值

例如,$1 表示第乙個引數,$2 表示第二個引數........

帶引數的函式例項:

funwithparam() !

"echo "第十乙個引數為 $ !" //當n>=10時,需要使用$來獲取引數。

echo

"引數總數有 $# 個!

"echo

"作為乙個字串輸出所有引數 $* !"}

funwithparam 12

3456

78934

73

執行結果:

Shell指令碼程式設計之Shell陣列

1.bash支援一維陣列 不支援多維陣列 並且沒有限定陣列的大小 1 定義陣列 array name value0 value1 value2 value3 或者array name value0 value1 value2 value3 或者單獨定義 2 讀取陣列 使用 符號可以獲取陣列中的所有元...

Shell指令碼程式設計之Shell檔案包含

1.和其他語言一樣,shell也可以包含外部指令碼,這樣可以很方便的封裝一些公用的 作為獨立的檔案 例項 testshellfileinclude.sh 指令碼如下 bin bash shell 檔案包含的語法格式如下 filename orsource filename 使用 號來引用test1....

Shell指令碼程式設計之Shell傳遞引數

1.我們可在執行指令碼的時候向指令碼傳遞引數,指令碼內獲取引數的格式為 n,n代表乙個數字,1為執行指令碼的第乙個引數,2為執行指令碼的第二個引數,以此類推 授權後執行,結果如下 2.處理引數的方法 傳遞到指令碼的引數個數 以乙個單字串顯示所有向指令碼傳遞的引數 指令碼執行的當前程序id號 後台執行...