在 UNIX Like 環境下輸入指令時, 可以按照不同的用法輸入不同的參數, 以下是在 Shell Script 讀取輸入的參數的寫法。
Shell Script 使用輸入的參數, 其實只要調用以數字名命的變數, 如 $1, $2, $3 …… 例如執行以下指令:
./shell_test.sh var1 var2 var3
上面執行 Shell Scrpt -> shell_test.sh, 並輸入 3 個參數: var1, var2 及 var3, 用 Shell Script 調用參數的寫法如下:
shell_test.sh:
|
1 2 3 4 5 6 7 |
#!/bin/sh echo "Total argument: $#" echo "Script name: $0" echo "Argument 1: $1" echo "Argument 2: $2" echo "Argument 3: $3" |
執行結果是:
./shell_test.sh var1 var2 var3
Total argument: 3
Script name: ./shell_test.sh
Argument 1: var1
Argument 2: var2
Argument 3: var3
Total argument: 3
Script name: ./shell_test.sh
Argument 1: var1
Argument 2: var2
Argument 3: var3
另一個情況是想將所有參數完整地印出, 不用 $1, $2, $3… 逐一出寫出, 可以調用 $@, 例如:
shell_test.sh:
|
1 2 3 |
#!/bin/sh echo "All Argument: $@" |
執行結果是:
./shell_test.sh var1 var2 var3
All Argument: var1 var2 var3
All Argument: var1 var2 var3