$# 是传给脚本的参数个数 $0 是脚本本身的名字 $1 是传递给该shell脚本的第一个参数 $2 是传递给该shell脚本的第二个参数 $@ 是传给脚本的所有参数的列表 $* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个 $$ 是脚本运行的当前进程ID号 $! 是最后运行的后台Process的PID $? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误
脚本: #!/bin/bash # args test echo "title: $0" echo "total args: $#" echo "first args: $1" echo "second args: $2" echo "all args: $@" echo "all args: $*" echo "currnet pid:$$" echo "status: $?"
结果:
[root@localhost src]# sh java18 1 2 3
----------------------------------------------------------------------------------------------------- 区别:"@"和 "*"
3" 脚本: #!/bin/bash # total args a=$# for((i=0;i<$a;i++)) do echo "$i" done echo "---- $ @----" for var in $@ do echo "$var" done echo "----$ *----" for va in $* do echo "$va" done echo "---- " $ @ "----" for var1 in "$@" do echo "$var1" done echo "---" "----" for va1 in "$*" do echo "$va1" done 运行结果:
[root@localhost src]# sh java19 1 2 3
运行结果:
[root@localhost src]# sh java19 1 2 3 (责任编辑:IT) |