在執行shell文件的時候可以向文件傳遞執行的參數
使用$n(n是從1開始的數字)來表示傳入的參數變量
#!/bin/bash
echo $1
echo $2
echo $3
bash 1.sh para1 para2 para3
para1
para2
para3
處理參數的特殊控制符:
符號 | 用途 |
---|---|
$# | 代表參數的個數 |
$* | 以一個字符串輸出傳遞的參數 |
$$ | 腳本當前進程的ID號 |
$! | 後臺運行的最後一個進程的ID號 |
$@ | 以一個字符串輸出傳遞的參數 |
$? | 顯示上一條命令的執行狀態,成功的結果是0 |
- $*、"$*"、$@、"$@"
$*、$@、"$@" 的用法相同:以多個字符串的形式輸出傳入的參數
例如傳入參數爲:para1 para2 para3
輸出:"para1" "para2" "para3"
"$*" 的用法:以單個字符串的形式輸出傳入的參數
例如傳入參數爲:para1 para2 para3
輸出:"para1 para2 para3"
通過以下腳本的輸出結果可以對比出來上面的結論:
#!/bin/bash
echo -e "\$*:"
for a in $*; do
echo $a
done
echo -e "\n\"\$*\":"
for i in "$*"; do
echo $i
done
echo -e "\n\$@:"
for b in $@; do
echo $b
done
echo -e "\n\"\$@\":"
for j in "$@"; do
echo $j
done
輸出:
./4.sh para1 para2 para3
$*:
para1
para2
para3
"$*":
para1 para2 para3
$@:
para1
para2
para3
"$@":
para1
para2
para3