我們可以在執行 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 菜鳥...