Shell函式引數

2022-03-10 22:53:24 字數 977 閱讀 2845

在shell中,呼叫函式時可以向其傳遞引數。在函式體內部,通過 $n 的形式來獲取引數的值,例如,$1表示第乙個引數,$2表示第二個引數...

帶引數的函式示例:

#!/bin/bash

funwithparam()!

"echo

"the value of the eleventh paramter is $!

"echo

"the amount of the parameters is $#!

"#引數個數

echo

"the string of the parameter is $*

" #傳遞給函式的所有》引數

}funwithparam 12

3456

78934

73

執行指令碼:

the value of the first paramter is 1!the value of the second paramter is 

2!the value of the tenth paramter is

10!the value of the tenth paramter is

34!the value of the eleventh paramter is

73!the amount of the parameters is

11!the

string of the parameter is 123

4567

893473

注意,$10 不能獲取第十個引數,獲取第十個引數需要$。當n>=10時,需要使用$來獲取引數。

另外,還有幾個特殊變數用來處理引數,前面已經提到:

特殊變數

說明$#

傳遞給函式的引數個數。

$*顯示所有傳遞給函式的引數。

$@與$*相同,但是略有區別。

$?函式的返回值。

Shell函式傳遞引數

透過現象看本質 若文章對你有幫助請點個?表示對我的鼓勵,非常感謝 函式之間呼叫時,如果把 全部引數,可以用shift進行截斷 直接全部傳遞過去可能會造成引數個數變化,這是因為把帶空格的引數 傳入時用雙引號包裹 解析為了多個引數.假如有如下指令碼 function say 2 function mai...

shell指令碼 函式傳遞引數

在乙個指令碼中,多個函式之間可能需要相互傳遞引數,之前一直對引數的傳遞以及引用有些疑問,今天做了幾個小測試例子 1 bin bash function f1 function f2 f1 1執行結果 temp2.sh pp mj ubuntu temp2.sh pp f1pp f2pp2 bin b...

shell 指令碼的函式引數

表示提供到shell指令碼或者函式的引數總數 1 表示第乙個引數。ne 表示 不等於 另外 整數比較 eq 等於,如 if a eq b ne 不等於,如 if a ne b gt 大於,如 if a gt b ge 大於等於,如 if a ge b lt 小於,如 if a lt b le 小於等...