有没有更容易/更优雅的方式来分配一个返回值的variables? 到目前为止,我一直在做这样的事情:
some_command_to_run VAR_TO_SET=$?
但我更愿意把它全部放在一行上,最好不要用$? variables。 有谁知道如何?
这就是我所知道的。 但是,如果你只是重复这样做,看看我的命令是否成功,例如:
if [[ $? -ne 0 ]]; then ... fi
你实际上可以testing一个命令目录,如:
if ! mkdir foo; then ... fi
你可能已经知道,但认为它可以帮助你:-)
我的问题是“为什么?”。 这是Bash提供的工具来完成这个function。
但是,你可以做到这一点(除了Kyle和Gilles所展示的):
do_something && do_on_success || do_on_failure
这就是全部。 如果你真的想在一行上,你可以写some_command_to_run; VAR_TO_SET=$? some_command_to_run; VAR_TO_SET=$? 。 你可以把它作为一个双线function,但我不推荐它,因为它会使你的脚本更不可读(还有一件事要学会理解你的代码)。