在 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