基本格式:
[ function ] funname [()]
說明:可以帶function fun() 定義,也可以直接fun() 定義,不帶任何引數。
引數返回,可以顯示加:return 返回,如果不加,將以最後一條命令執行結果,
作為返回值。 return後跟數值n(0-255)
函式返回值在呼叫該函式後通過 $? 來獲得。
注意:所有函式在使用前必須定義。這意味著必須將函式放在指令碼開始部分,
直至shell直譯器首次發現它時,才可以使用。呼叫函式僅使用其函式名即可。
函式引數
在shell中,呼叫函式時可以向其傳遞引數。
在函式體內部,通過 $n 的形式來獲取引數的值,
例如,$1表示第乙個引數,$2表示第二個引數…
注意,$10 不能獲取第十個引數,獲取第十個引數需要$。
當n>=10時,需要使用$來獲取引數。
引數處理 說明
$# 傳遞到指令碼的引數個數
$* 以乙個單字串顯示所有向指令碼傳遞的引數
$$ 指令碼執行的當前程序id號
$! 後台執行的最後乙個程序的id號
$@ 與$*相同,但是使用時加引號,並在引號中返回每個引數。
$- 顯示shell使用的當前選項,與set命令功能相同。
$? 顯示最後命令的退出狀態。0表示沒有錯誤,其他任何值表明
[root@localhost func]# cat 01.sh#!/bin/bash
function url()
#呼叫函式
url[root@localhost func]# sh 01.sh
[root@localhost func]# cat 02.sh
#!/bin/bash
#計算所有引數的和
function getsum()
#呼叫函式並傳遞引數
getsum 20 90 29 30 80
echo $?
#$@:表示函式所有引數
#$?:表示推出狀態(在這裡取返回值)
[root@localhost func]# sh 02.sh
249
shell中if的用法
一.概要 1.if與 之間要有空格 2.與判斷條件之間也必須有空格 3.與 之間不能有空格 二.對字串的判斷 1.if str1 str2 then fi 當兩個字串相同時返回真 2.if str1 str2 then fi 當兩個字串不相等時返回真 3.if n str1 then fi 當字串的...
shell中if的用法
出處 一.概要 1.if與 之間要有空格 2.與判斷條件之間也必須有空格 3.與 之間不能有空格 二.對字串的判斷 1.if str1 str2 then fi 當兩個字串相同時返回真 2.if str1 str2 then fi 當兩個字串不相等時返回真 3.if n str1 then fi 當...
Shell 中的中括號用法
shell中的中括號 也叫方括號 的用法 1 單中括號 bash 的內部命令,和test是等同的。如果我們不用絕對路徑指明,通常我們用的都是bash自帶的命令。if test結構中的左中括號是呼叫test的命令標識,右中括號是關閉條件判斷的。這個命令把它的引數作為比較表示式或者作為檔案測試,並且根據...