shell程式設計 函式(九)

2022-01-11 00:22:55 字數 1201 閱讀 4199

每種語言都有自己的函式,shell也不例外。支援函式,它可以將指令碼程式劃分成乙個個相對獨立的**塊,使**的模組化,結構更加清晰,並有效地減少程式的**量,提高**的復用率。

函式格式

function fun_name()

或者fun_name()

注:()中不能帶引數

引數都是直接以變數的形式寫在函式中,傳遞引數的時候使用$,若果不加${},直接輸入引數,則把引數當作字串來處理,不會當作變數

結果

注:¥?用來接收funsum的返回值

例:傳遞引數

結果

注:函式中的引數$後面是多少,則取值的時候就取傳遞的引數中第幾個,當大於9時,函式中要獲取引數需要像示例中獲取第五個引數一樣新增大括號{}

其他特殊字元用來處理引數

$0:是指令碼本身的名字

$#:傳遞到指令碼的引數個數

$*:以乙個單字串顯示所有向指令碼傳遞的引數

$$:指令碼執行的當前程序id號

$!:後台執行的最後乙個程序的id號

$@:與$*相同,但是使用時加引號,並在引號中返回每個引數

$-:顯示shell使用的當前選項,與set命令功能相同

$?:顯示最後命令的退出狀態。0表示沒有錯誤,其他任何值表明有錯誤

變數作用域

在函式呼叫之前,定義變數,則定義的是全域性變數,當執行函式的時候讀取變數使用

在函式中定義變數,local key=value,則為函式內部的變數,函式在執行的時候讀取變數使用,但是該變數在函式外不生效

九 Shell程式設計 函式

1 複習一下以前的知識 1 位置變數個數 2 所有的位置引數 2 shift命令 執行一下,位置引數前移動乙個,如 1為第乙個位置引數,然後執行一下shift,則 1變為第二個引數,位置引數個數也會減1,即 的值遞減。示例 bin bash 列印所有的位置引數 while gt 0 do echo ...

jQuery 資料操作函式(九)

clearqueue 從佇列中刪除所有未執行的專案。data 儲存與匹配元素相關的任意資料。jquery.data 儲存與指定元素相關的任意資料。dequeue 從佇列最前端移除乙個佇列函式,並執行它。jquery.dequeue 從佇列最前端移除乙個佇列函式,並執行它。jquery.hasdata...

C語言字串函式 九

pragma mark 字串常量 void charpointer printf s n p n c n hello how are you 字串的 取值就是指標位址 printf c3 0 s c3 0 的第乙個字元 c n c3 0 c3 0 陣列下標的 取值 對應字串的首字元 等同於 c3 0...