为什么圆括号返回退出状态而不是大括号
我理解圆括号导致命令在子shell中运行,大括号导致命令分组在一起但不在子shell中运行。当我使用pa运行此命令时租赁:无功能
解答动态
(echoquot;退出1)echo$? 返回出口状态:
/Users/myname/bin/ex5:第34行:n\u func:command not found没有任何内容1但当我使用大括号:
no\u func{echoquot;退出1}echo$? 这不返回退出状态。
/Users/myname/bin/ex5:第34行:no_func:command not found没有什么 但是为什么一个返回退出状态而另一个不返回?
使用大括号时,脚本在到达echo$之前以状态1退出?在script.
变量中子壳:
$./script1.sh./script1.sh:第3行:no#func:未找到命令没有任何内容1#lt;--script Variant的退出状态支架:
$./script2.sh./script2.sh:第3行:no?func:未找到命令没有任何内容?lt;--脚本的退出状态查看命令执行(set-x)。与支架:
+no_func./a:第3行:no_func:未找到命令+回显“没有内容”没有内容+退出1 exit退出(子)shell。由于大括号不创建子shell,exit退出主shell进程,因此它永远不会到达运行echo$?。第2页- End
免责声明:
本页内容仅代表作者本人意见,若因此产生任何纠纷由作者本人负责,概与琴岛网公司无关。本页内容仅供参考,请您根据自身实际情况谨慎操作。尤其涉及您或第三方利益等事项,请咨询专业人士处理。