阅读量:132
在shell脚本中,可以使用特殊变量来接收传递给脚本的参数。以下是两种常用的方式:
-
使用$0、$1、$2等变量:
$0表示脚本本身的名字。$1、$2、$3等表示传递给脚本的参数,依次是第一个、第二个、第三个参数,以此类推。- 例如,如果你的脚本名字是
script.sh,并且执行命令是./script.sh arg1 arg2,则可以在脚本中通过$0获取到script.sh,通过$1获取到arg1,通过$2获取到arg2。
-
使用$@或$*变量:
$@表示传递给脚本的所有参数,每个参数都用双引号括起来。$*也表示传递给脚本的所有参数,但是参数之间没有引号。- 例如,如果你的脚本执行命令是
./script.sh arg1 arg2,则可以在脚本中通过$@获取到"arg1" "arg2",通过$*获取到arg1 arg2。
下面是一个示例脚本,展示了如何使用这些变量来获取传递给脚本的参数:
#!/bin/bash
echo "脚本名字是:$0"
echo "第一个参数是:$1"
echo "第二个参数是:$2"
echo "所有参数是:$@"
echo "所有参数是(使用*):$*"
假设脚本名字是 script.sh,执行命令是 ./script.sh arg1 arg2,则执行该脚本将会输出:
脚本名字是:./script.sh
第一个参数是:arg1
第二个参数是:arg2
所有参数是:arg1 arg2
所有参数是(使用*):arg1 arg2