Shell教程(3) 傳遞引數

2021-08-17 16:59:57 字數 1851 閱讀 6987

我們可以在執行 shell 指令碼時,向指令碼傳遞引數,指令碼內獲取引數的格式為:$n。n 代表乙個數字,1 為執行指令碼的第乙個引數,2 為執行指令碼的第二個引數,以此類推……

例項以下例項我們向指令碼傳遞三個引數,並分別輸出,其中 $0 為執行的檔名:

#!/bin/bash

# author:菜鳥教程

# url:www.runoob.com

echo

"shell 傳遞引數例項!";

echo

"執行的檔名:$0";

echo

"第乙個引數為:$1";

echo

"第二個引數為:$2";

echo

"第三個引數為:$3";

為指令碼設定可執行許可權,並執行指令碼,輸出結果如下所示:

$ chmod +x test.sh 

$ ./test.sh12

3shell 傳遞引數例項!

執行的檔名:./test.sh

第乙個引數為:1

第二個引數為:2

第三個引數為:3

另外,還有幾個特殊字元用來處理引數:

# author:菜鳥教程

# url:www.runoob.com

echo

"shell 傳遞引數例項!";

echo

"第乙個引數為:$1";

echo

"引數個數為:$#";

echo

"傳遞的引數作為乙個字串顯示:$*";

執行指令碼,輸出結果如下所示:

$ chmod +x test.sh 

$ ./test.sh 123

shell 傳遞引數例項!

第乙個引數為:1

引數個數為:3

傳遞的引數作為乙個字串顯示:1

23

$*$@區別:

#!/bin/bash

# author:菜鳥教程

# url:www.runoob.com

echo

"-- \$* 演示 ---"

for i in

"$*"; do

echo

$idone

echo

"-- \$@ 演示 ---"

for i in

"$@"; do

echo

$idone

執行指令碼,輸出結果如下所示:

$ chmod +x test.sh 

$ ./test.sh 1 2 3

-- $* 演示 ---

1 2 3

-- $@ 演示 ---12

3

在為shell指令碼傳遞的引數中如果包含空格,應該使用單引號或者雙引號將該引數括起來,以便於指令碼將這個引數作為整體來接收

在有引數時,可以使用對引數進行校驗的方式處理以減少錯誤發生:

if [ -n "$1" ]; then

echo

"包含第乙個引數"

else

echo

"沒有包含第一引數"

fi

注意的是中括號 與其中間的**應該有空格隔開。

Shell教程 Shell 傳遞引數

我們可以在執行 shell 指令碼時,向指令碼傳遞引數,指令碼內獲取引數的格式為 n。n代表乙個數字,1 為執行指令碼的第乙個引數,2 為執行指令碼的第二個引數,以此類推 以下例項我們向指令碼傳遞三個引數,並分別輸出,其中 0為執行的檔名 bin bash author 菜鳥教程 url www.r...

shell 3 Shell 傳遞引數

我們可以在執行 shell 指令碼時,向指令碼傳遞引數,指令碼內獲取引數的格式為 n。n代表乙個數字,1 為執行指令碼的第乙個引數,2 為執行指令碼的第二個引數,以此類推 以下例項我們向指令碼傳遞三個引數,並分別輸出,其中 0為執行的檔名 bin bash echo shell 傳遞引數例項!ech...

Shell基礎 3 傳遞引數

我們可以在執行 shell 指令碼時,向指令碼傳遞引數,指令碼內獲取引數的格式為 n。n 代表乙個數字,1 為執行指令碼的第乙個引數,2 為執行指令碼的第二個引數,以此類推 例項 以下例項我們向指令碼傳遞三個引數,並分別輸出,其中 0 為執行的檔名 包含檔案路徑 bin bash author 菜鳥...