在shell脚本中,特殊变量$#表示传递给脚本的参数个数,$0表示脚本本身的名字(即包含脚本的文件名),$@表示传递给脚本的所有参数列表。
具体解释如下:
1. $#:表示传递给脚本的参数个数。假设有一个脚本文件为test.sh,在命令行输入“./test.sh a b c”命令,则$#的值为3,因为传入了3个参数。
2. $0:表示脚本本身的名字(即包含脚本的文件名)。假设有一个脚本文件为test.sh,在命令行输入“./test.sh a b c”命令,则$0的值为“test.sh”。
3. $@:表示传递给脚本的所有参数列表。假设有一个脚本文件为test.sh,在命令行输入“./test.sh a b c”命令,则$@的值为“a b c”。
代码实现步骤:
1. 创建一个shell脚本文件,例如test.sh:
#!/bin/bash
echo "传入脚本的参数个数为:$#"
echo "脚本本身的名字为:$0"
echo "传递给脚本的所有参数列表为:$@"
2. 给test.sh设置执行权限:
chmod +x test.sh
3. 在命令行输入“./test.sh a b c”命令,执行脚本文件。
4. 程序输出:
传入脚本的参数个数为:3
脚本本身的名字为:./test.sh
传递给脚本的所有参数列表为:a b c
即可看到$#、$0、$@的值。