在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