对比$*和$@以及$#的不同
Posted tanshouke
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对比$*和$@以及$#的不同相关的知识,希望对你有一定的参考价值。
关键词:$*、$@、$#
参数处理 | 说明 |
---|---|
$# | 传递到脚本的参数个数 |
$* | 以一个单字符串显示所有向脚本传递的参数。 如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。 |
$$ | 脚本运行的当前进程ID号 |
$! | 后台运行的最后一个进程的ID号 |
$@ | 与$*相同,但是使用时加引号,并在引号中返回每个参数。 如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。 |
$- | 显示Shell使用的当前选项,与set命令功能相同。 |
$? | 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。 |
脚本:
[root@test tansk]# cat test.sh #!/bin/bash # testing $* and $@ echo "一共有$#个参数" echo "" count=1 for param in "$*" do echo "$* Parameter #$count = $param" count=$[ $count + 1 ] done echo "" count=1 for param in "$@" do echo "$@ Parameter #$count = $param" count=$[ $count + 1 ] done
实现效果:
以上是关于对比$*和$@以及$#的不同的主要内容,如果未能解决你的问题,请参考以下文章