#簡單呼叫函式的例子
demofun
()echo
"開始測試函式呼叫"
demofun
下面定義乙個帶有return語句的函式:
#!/bin/bash
# author:菜鳥教程
# url:www.runoob.com
funwithreturn
()funwithreturn
echo
"輸入的兩個數字之和為 $? !"
輸出類似下面:
這個函式會對輸入的兩個數字進行相加運算...
輸入第乙個數字:
1輸入第二個數字:
2兩個數字分別為 1 和 2 !
輸入的兩個數字之和為 3 !
函式返回值在呼叫該函式後通過 $? 來獲得。
#函式引數
帶引數的函式示例:
#!/bin/bash
# author:菜鳥教程
# url:www.runoob.com
funwithparam
() !"
echo
"第十乙個引數為 $ !"
echo
"引數總數有 $# 個!"
echo
"作為乙個字串輸出所有引數 $* !"
}funwithparam 123
4567
893473
輸出結果:
第乙個引數為 1 !
第二個引數為 2 !
第十個引數為 10 !
第十個引數為 34 !
第十乙個引數為 73 !
引數總數有 11 個!
作為乙個字串輸出所有引數 123
4567
893473 !
注意,$10 不能獲取第十個引數,獲取第十個引數需要$。當n>=10時,需要使
用$來獲取引數。
另外,還有幾個特殊字元用來處理引數:
引數處理 說明
$# 傳遞到指令碼的引數個數
$* 以乙個單字串顯示所有向指令碼傳遞的引數
$$ 指令碼執行的當前程序id號
$! 後台執行的最後乙個程序的id號
$@ 與$*相同,但是使用時加引號,並在引號中返回每個引數。
$- 顯示shell使用的當前選項,與set命令功能相同。
$? 顯示最後命令的退出狀態。0表示沒有錯誤,其他任何值表明有錯誤。
Shell指令碼程式設計(八)
多路分支語句 多路分支語句case可以用於實現多路分支,型別c語言中的switch case,其語法如下 case 字串變數 in case語句只能檢測字串變數 模式1 命令表1 退出case語句用雙分號 模式2 模式3 若多個模式共用則使用 分隔 命令表2 模式4 命令表3 萬用字元 表示所有其他...
(八)shell指令碼入門
本文只介紹簡單的shell指令碼程式設計,包含變數,輸入,輸出,判斷,函式,迴圈。詳細參考 shell教程 shell指令碼就是一種shell解釋執行的程式,相當於windows的批處理器。簡單的例子 bin bash 輸入 read p input your long and wide long ...
shell學習筆記之八(函式)
函式 定義 1 無返回值 function為關鍵字,function name為函式名 function function name 省略關鍵字function,效果一樣 function name 例 1 簡單函式宣告和呼叫 bin bash function sayhello sayhello ...