3.Shell接收用户的参数
1.Shell 传递参数
我们可以在执行 Shell 脚本时,向脚本传递参数,Linux系统中的Shell脚本语言已经内设了用于接收参数的变量,变量之间可以使用空格间隔。
例如$0对应的是当前Shell脚本程序的名称,$#对应的是总共有几个参数,$*对应的是所有位置的参数值,$?对应的是显示上一次命令的执行返回值,
而$1、$2、$3……则分别对应着第N个位置的参数值,如图4-15所示
尝试编写一个脚本程序示例:
[root@linuxprobe ~]# vim example.sh#
!/bin/bashecho"当前脚本名称为$0"echo"总共有$#个参数,分别是$*。"
echo"第1个参数为$1,第5个为$5。"
[root@linuxprobe ~]# sh example.sh one two three four five six
当前脚本名称为example.sh
总共有6个参数,分别是one two three four five six。
第1个参数为one,第5个为five。
$* 与 $@ 区别:
- 相同点:都是引用所有参数。
- 不同点:只有在双引号中体现出来。假设在脚本运行时写了三个参数 1、2、3,,则 " * " 等价于 "1 2 3"(传递了一个参数),而 "@" 等价于 "1" "2" "3"(传递了三个参数)。
#!/bin/bash# author:菜鸟教程
# url:www.runoob.com
echo"-- \$* 演示 ---"for i in"$*"; do
echo $i
done
echo"-- \$@ 演示 ---"
for i in"$@"; do
echo $i
done
执行脚本,输出结果如下所示:
$ chmod +x test.sh$ .
/test.sh123-- $* 演示 ---
123
-- $@ 演示 ---
1
2
3
以上是 3.Shell接收用户的参数 的全部内容, 来源链接: utcz.com/z/509659.html