參數傳遞
我們可以在執行 Shell 腳本時,向腳本傳遞參數,腳本內獲取參數的格式為 $n,n 代表一個數字,1 為執行腳本的第一個參數,2 為執行腳本的第二個參數。
例如可以使用 $1、$2 等來引用傳遞給腳本的參數,其中 $1 表示第一個參數,$2 表示第二個參數,依此類推
#!/bin/bashecho “$0” #輸出腳本名稱 包含路徑echo "$1" #輸出第一個參數 后續的參考上述概念
特殊字符釋義:
-
$#:傳遞到腳本的參數個數(例如:傳遞的參數為 a b 從,調用該命令,輸出3)
-
$*:把所有參數以字符串的形式都傳遞到腳本
-
$$:腳本運行的當前進程ID號
-
$!:后臺運行的最后一個進程的ID號
-
$@:與$*有點相似,在最后具體說明差異
-
$-:顯示shell當前選項
-
$?:顯示最后命令的退出狀態,0表示沒有任何錯誤,其他值是有錯誤的
$* 與 $@ 區別:
-
相同點:都是引用所有參數。
-
不同點:只有在雙引號中體現出來。假設在腳本運行時寫了三個參數 1、2、3,則 " * " 等價于 "1 2 3"(傳遞了一個參數),而 "@" 等價于 "1" "2" "3"(傳遞了三個參數)。