gpt4 book ai didi

bash - 如果其子 shell 错误,则导致 bash 语句出错

转载 作者:行者123 更新时间:2023-12-04 16:16:27 27 4
gpt4 key购买 nike

是否有一种简明、通用、惯用的 bash 结构可以在子 shell 调用错误时强制语句出错?例如,

cd $(git rev-parse --show-toplevel)

即使 git 命令出错,也总是会返回 0,这使得编写类似这样的脚本变得困难

cd $(git rev-parse --show-toplevel) && echo 'Success!'

当然你也可以按照下面的方式做,但我想知道有没有更好的方法:

DIR=$(git rev-parse --show-toplevel) && cd $DIR && echo 'Success!'

最佳答案

这不是一个通用的解决方案,但在那个例子中你可以这样做:

cd $(git rev-parse --show-toplevel || echo -@) && echo 'Success!'

如果替换中的命令失败,此解决方案的工作原理是将输出转换为命令不会接受的内容。

关于bash - 如果其子 shell 错误,则导致 bash 语句出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31353560/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com