为什么圆括号返回退出状态而不是大括号

2021-02-03 21:18

我理解圆括号导致命令在子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

          免责声明:

          本页内容仅代表作者本人意见,若因此产生任何纠纷由作者本人负责,概与琴岛网公司无关。本页内容仅供参考,请您根据自身实际情况谨慎操作。尤其涉及您或第三方利益等事项,请咨询专业人士处理。