Linux shell學習(4)shell傳遞參數

在執行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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章