函數可以在shell script當中做一個類似自訂執行命令,最大的功能就是可以簡化我們很多的程式碼。需要注意的是shell script的執行方式是由上而下/由左而右,因此在shellscript當中的function的設定一定要在程式的最前面,這樣才能夠在執行時被找到可用的程式段。
複製代碼 代碼如下:
#!/bin/bash
# Program
# This program is to show the use of "function"
# History
# 2013/5/4 by Lvcy First release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/loacl/sbin:~/bin
export PATH
#輸出統一資訊
function printInfo ()
{
echo -n "Your choice is "
}
#將小寫字元轉換為大寫字元
function dotr()
{
tr 'a-z' 'A-Z'
}
read -p "Please input your choice(one|two|three|four):" num
#用case做條件判斷
case $num in
"one")
printInfo; echo $num | dotr
;;
"two")
printInfo; echo $num | dotr
;;
"Three")
printInfo; echo $num | dotr
;;
"four") printInfo; echo $num | dotr
;;
esac
exit 0
下面是一個一般的帶有function函數的shell指令碼:
複製代碼 代碼如下:
#!/bin/bash
# Program
# This program is show the params of function
# History
# 2013/5/14 by Lvcy First release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
function printInfo()
{
echo "Your choice is $1"
}
case $1 in
"one")
printInfo 1
;;
"two")
printInfo 2
;;
"three")
printInfo 3
;;
"four")
printInfo 4
;;
esac
exit 0
若以上檔案名稱為sh02.sh,則執行這個script的命令為:
複製代碼 代碼如下:
sh sh02.sh one