为了账号安全,请及时绑定邮箱和手机立即绑定

请问,关于在脚本中使用$()来执行系统命令的问题

老师在写脚本的时候,比如 read -p “输入一个目录 ”dir   ,就不需要使用 $(),但是有的命令比如 ps aux | grep httpd | grep -v grep就需要使用$()把这条命令括起来,那么什么时候使用$(),什么时候不需要使用$()呢???百度也没有查到答案,我现在有两个猜测,1.shell内部命令,在写脚本的时候不需要$()?2.read 这条命令默认已经传值给了一个参数,所以当命令执行结果需要我们主动赋值给一个变量的时候,需要使用$() ???     我现在有点乱,谁能帮帮我,非常感谢!!!

正在回答

4 回答

$(命令)是命令替换,var=$(命令),是吧命令的执行结果传给变量,而不是把命令这个字串本身传给变量


0 回复 有任何疑惑可以回复我~

个人认为:read命令后面的变量,属于赋值,所以不需要$()。其它的调用变量的命令,需要$()。

1 回复 有任何疑惑可以回复我~

通常把命令执行的结果赋值给变量时,需要使用$()包起来,然后read命令比较特殊,我是这么理解的。

0 回复 有任何疑惑可以回复我~

个人赞同你的第2个猜测

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问,关于在脚本中使用$()来执行系统命令的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信