shell 3 Shell 傳遞引數

2021-09-21 05:28:06 字數 1514 閱讀 6599

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

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

#!/bin/bash

echo "shell 傳遞引數例項!";

echo "執行的檔名:$0";

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

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

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

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

$ chmod +x test.sh 

$ ./test.sh 1 2 3

shell 傳遞引數例項!

執行的檔名:./test.sh

第乙個引數為:1

第二個引數為:2

第三個引數為:3

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

引數處理

說明$#

傳遞到指令碼的引數個數

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

如"$*"用「"」括起來的情況、以"$1 $2 … $n"的形式輸出所有引數。

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

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

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

如"$@"用「"」括起來的情況、以"$1" "$2" … "$n" 的形式輸出所有引數。

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

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

#!/bin/bash

echo "shell 傳遞引數例項!";

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

echo "引數個數為:$#";

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

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

$ chmod +x test.sh 

$ ./test.sh 1 2 3

shell 傳遞引數例項!

第乙個引數為:1

引數個數為:3

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

$* 與 $@ 區別:

#!/bin/bash

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

for i in "$*"; do

echo $i

done

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

for i in "$@"; do

echo $i

done

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

$ chmod +x test.sh 

$ ./test.sh 1 2 3

-- $* 演示 ---

1 2 3

-- $@ 演示 ---12

3

Shell教程(3) 傳遞引數

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

Shell基礎 3 傳遞引數

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

Shell系列 Shell 傳遞引數

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