Bash腳本傳入的參數,在腳本中以位置的形式進行訪問,即 $n 。例如,$1 為執行腳本的第一個參數,$2 為執行腳本的第二個參數。另外Bash中還提供了一些其它的便捷操作以符号的形式表現。具體内容和含義見下表:
參數處理說明$#傳遞到腳本的參數個數$*以一個單字符串顯示所有向腳本傳遞的參數,如"$*"用「"」括起來的情況、以"$1 $2 … $n"的形式輸出所有參數。$$腳本運行的當前進程ID号$!後台運行的最後一個進程的ID号$@與$*相同,但是使用時加引号,并在引号中返回每個參數,如"$@"用「"」括起來的情況、以"$1" "$2" … "$n" 的形式輸出所有參數。$-顯示Shell使用的當前選項,與set命令功能相同。$?顯示最後命令的退出狀态。0表示沒有錯誤,其他任何值表明有錯誤。
事例代碼如下:
# !/usr/bin/env bash # -*- coding: utf-8 -*- # # 打印輸入的參數 # if [[ $#<=0 ]]; then echo "command=>$0, no parameters" exit 1 fi echo $@ pos=1 for para in "$@"; do eval val=$(echo \$${pos}) echo "command=>$0, position=>${pos}, value=>${val}" echo $(( pos )) >/dev/null done
上述代碼執行結果如下:
,