Linux 仅当成功时才将命令输出导出到变量(Bash set-e)
我希望下面的脚本失败。(并且仍然将err打印到stderr)Linux 仅当成功时才将命令输出导出到变量(Bash set-e),linux,bash,shell,error-handling,command,Linux,Bash,Shell,Error Handling,Command,我希望下面的脚本失败。(并且仍然将err打印到stderr) 编辑:根据@ray comment修改问题问题在于导出命令。解决方案是将分配与导出分开: #!/bin/bash set -e X=$(echo a) Y=$(ekko b) export X export Y echo ok 脚本将在Y=$(ekko b)处失败,并打印到stderr第4行:ekko:command not found,这不是您想要的吗?您是对的。我来纠正这个问题,现在我也得到了答案:)谢谢别忘了你自己的答案。 #
编辑:根据@ray comment修改问题问题在于导出命令。解决方案是将分配与导出分开:
#!/bin/bash
set -e
X=$(echo a)
Y=$(ekko b)
export X
export Y
echo ok
脚本将在
Y=$(ekko b)
处失败,并打印到stderr第4行:ekko:command not found
,这不是您想要的吗?您是对的。我来纠正这个问题,现在我也得到了答案:)谢谢别忘了你自己的答案。
#!/bin/bash
set -e
X=$(echo a)
Y=$(ekko b)
export X
export Y
echo ok