創建函數的格式一:
functionName() { 函數體 }
創建函數的格式二:
function functionName { 函數體 }
調用函數的格式:
functionName
使用函數:
#!/bin/bash menu() { cat <<EOF 1.network; 2.security; 3.bash shell; 4.python; EOF } menu [root@test ~]# bash func.sh 1.network; 2.security; 3.bash shell; 4.python;
函數返回值
函數的退出狀態碼是函數中最後一條命令返回的退出狀態碼。在函數結結束後,你可以用標準的$?變量來查看函數的退出狀態碼。
使用用return自定義返回狀態碼
return N
函數也可以接收位置參數$1 $2 ... $n $# $* $@
#!/bin/bash cal2() { result=$[$1 + $2] echo $result } cal2 $1 $2 [root@test ~]# bash func2.sh 4 9 13
函數中的變量有兩種類型:全局變量和局部變量
全局變量在腳本中的任何位置都可見;
局部變量只能在函數中使用
[root@test ~]# cat func3.sh #!/bin/bash a=100 func1() { a=99 echo $a } b=`func1` echo "global variable a:$a" echo "local variable a: $b" [root@test ~]# bash func3.sh global variable a:100 local variable a: 99