Shell 函數
linux shell 可以使用者定義函數,然後在shell腳本中可以隨便呼叫。
shell中函數的定義格式如下:
[ function ] funname [()] { action; [return int;] }
說明:
1、可以帶function fun() 定義,也可以直接fun( ) 定義,不帶任何參數。
2、參數返回,可以顯示加:return 返回,如果不加,將以最後一條命令運行結果,作為返回值。 return後面跟著數值n(0-255
下面的範例定義了一個函數並進行呼叫:
#!/bin/bash # author:php中文网 # url:www.php.cn demoFun(){ echo "这是我的第一个 shell 函数!" } echo "-----函数开始执行-----" demoFun echo "-----函数执行完毕-----"
輸出結果:
-----函数开始执行----- 这是我的第一个 shell 函数! -----函数执行完毕-----
下定義一個帶有return語句的函數:
#!/bin/bash # author:php中文网 # url:www.php.cn funWithReturn(){ echo "这个函数会对输入的两个数字进行相加运算..." echo "输入第一个数字: " read aNum echo "输入第二个数字: " read anotherNum echo "两个数字分别为 $aNum 和 $anotherNum !" return $(($aNum+$anotherNum)) } funWithReturn echo "输入的两个数字之和为 $? !"
輸出類似下面:
这个函数会对输入的两个数字进行相加运算... 输入第一个数字: 1 输入第二个数字: 2 两个数字分别为 1 和 2 ! 输入的两个数字之和为 3 !
函數傳回值在呼叫函數後透過$? 來獲得。在使用前必須定義。函數參數
在Shell中,呼叫函數時可以向其傳遞參數。個參數...
帶參數的函數範例:
#!/bin/bash
# author:php中文网
# url:www.php.cn
funWithParam(){
echo "第一个参数为 !"
echo "第二个参数为 !"
echo "第十个参数为 !"
echo "第十个参数为 !"
echo "第十一个参数为 !"
echo "参数总数有 $# 个!"
echo "作为一个字符串输出所有参数 $* !"
}
funWithParam 1 2 3 4 5 6 7 8 9 34 73
輸出結果:第一个参数为 1 ! 第二个参数为 2 ! 第十个参数为 10 ! 第十个参数为 34 ! 第十一个参数为 73 ! 参数总数有 11 个! 作为一个字符串输出所有参数 1 2 3 4 5 6 7 8 9 34 73 !注意,$10 不能取得第十個參數,取得第十個參數需要${10}。 參數處理 說明 $
$* | |
---|---|
# $$ | |
$! | |
# $@ | |
$- | |
$? | |
# |