shell中$*和$@的区别

2019-06-01 分类:shell, 基础内容 阅读(21) 评论(0)

set 1 2 3
不加引号-----每个参数视为独立参数
[root@m01 ~]# for i in $*;do echo $i ;done
1
2
3

[root@m01 ~]# for i in $@;do echo $i ;done
1
2
3

加引号-----$*把所有参数当做一个整体, $@和不加引号一样
[root@m01 ~]# for i in "$*";do echo $i ;done
1 2 3

[root@m01 ~]# for i in "$@";do echo $i ;done
1
2
3

您可能也喜欢:

重定向2>,&>,1>,>….标准错误和标准输出

2>:标准错误 > or 1>:标准输出 &>:标准输出和标准错误 标准错误重定向到error.log,标准输出重定向到/dev/null ll 2> error.log > /dev/null 标准错误和标准输出都重定向到/dev/null ll >...

more

shell中sh、source、. 、./、执行脚本的区别

1.sh 不需要脚本执行权限,父shell不会继承脚本(子shell)中的变量 2.  ./ 需要脚本拥有执行权限,父shell不会继承脚本(子shell)中的变量 3.source和.是一样的 父shell继承脚本(子shell)中的变量 ...

more

欢迎新朋友你的到来!
还没有人抢沙发呢~
昵称
邮箱
网站

登录

忘记密码 ?

切换登录

注册