在 bash 中,我想传播在别名中执行的特定命令的退出代码,以便别名调用本身会返回它(与它一起退出)。
想象一下下面的例子(请注意:命令没有意义,只是演示了我面临的问题):
alias cda='cd \/a; exit_code=$?; echo "STATUS: $exit_code"; alias cdb='cd \/b'
cda && cdb
对我来说,没有这样的目录:/a
并/b
确保命令失败。我cdb
只想在cda
别名执行成功的情况下执行别名。但是,echo
与最后一个命令一样,它以exit
status 0
=> 结束,两者都被执行
我试过的是:
alias cda='cd \/a; exit_code=$?; echo "STATUS: $exit_code"; exit $exit_code'; alias cdb='cd \/b'
cda && cdb
但是这完全退出了外壳=>对我来说不可行。
知道如何将退出状态(在我的情况下$exit_code
)传播为别名退出状态吗?