shell传递参数-$的用法(三)

$n:n代表一个数字,指执行脚本的第n个参数。特别地,$0指执行的文件名

[root@ipha-dev71-1 exercise_shell]# cat test.sh 
#!/bin/bash
echo "shell 传递参数实例!"
echo "执行的文件名:$0";
echo "第一个参数为:$1";
echo "第二个参数为:$2";
echo "第三个参数为:$3";
[root@ipha-dev71-1 exercise_shell]# ./test.sh 1 2 3
shell 传递参数实例!
执行的文件名:./test.sh
第一个参数为:1
第二个参数为:2
第三个参数为:3

$#:传递到脚本的参数个数

$*:以一个单字符串显示所有向脚本传递的参数   如 $1 $2 … $n

[root@ipha-dev71-1 exercise_shell]# cat test.sh 
#!/bin/bash
echo "shell 传递参数实例!"
echo "第一个参数为:$1";
echo "参数个数为:$#";
echo "第二个参数为:$2";
echo "传递的参数作为一个字符串显示:$*";
[root@ipha-dev71-1 exercise_shell]# ./test.sh 1 2 3
shell 传递参数实例!
第一个参数为:1
参数个数为:3
第二个参数为:2
传递的参数作为一个字符串显示:1 2 3

$* 与 $@的区别:只有在双引号中体现出来。假设在脚本运行时写了三个参数 1、2、3,,则 " * " 等价于 "1 2 3"(传递了一个参数),而 "@" 等价于 "1" "2" "3"(传递了三个参数)

$?:上一条命令执行后的状态,结果为0表示执行正常,结果为1表示执行异常;

原文地址:https://www.cnblogs.com/wang-mengmeng/p/11420696.html