Centos bash文件

2019-03-25  本文已影响0人  YuWenHaiBo

关于$@,"$@",$*,"$*"区别

测试代码
#!/bin/bash 
 for key in "$@"
do
    echo '"$@"' $key
done

for key in $@
do
    echo '$@' $key
done

for key in "$*"
do 
    echo '"$*"' $key
done

for key in $*
do 
    echo '$*' $key
done

测试用例一
./test.sh java c python "golang c++"

测试用例一
测试用例二
./test.sh java c python golang c++
测试用例二

总结:
$@会忽略传入参数里面的",并且会以以IFS(默认为空格)来划分字段
"$@"会把引号内容当成一个字段,忽略引号内部的IFS
$*$@ 不管有没有引号是一样的
"$*" 把所有的命令行参数当做一个字符串

上一篇 下一篇

猜你喜欢

热点阅读