shell 命令行参数
1, $*与$@区别
cat a.sh
#!/bin/bash
for i in $* #这里换成$@也是一样的结果
do
echo $i
done
sh a.sh 1 ‘2 3‘
1
2
3
vi a.sh
for i in "$*"
...
sh a.sh 1 ‘2 3‘
1 2 3
vi a.sh
for i in "$@"
...
sh a.sh 1 ‘2 3‘
1
2 3
结论: 不加双引号$*与$@结果一样 ,加了双引号,"$*" 把所有命令行参数作为一个字符串处理,"$@" 会把引号引起来的字符当成一个字符串处理如(‘2 3‘)
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。