将命令输出分配给变量,并在返回值上进行分支

时间:2013-04-05 23:55:45

标签: bash

我想做以下事情

X=$(some_command)
if [ $? == 0 ]; then
  do_something
  echo $x
else
  do_something_else
fi

基本上,我想执行一些命令,将输出存储到某个变量中。同时,我想根据命令是否成功进行分支。以上方式有效,但看起来很难看。这是一种更聪明的方式吗?

感谢。

1 个答案:

答案 0 :(得分:6)

if x=$(some command); then
  do_something
  echo $x
else
  do_something_else
fi

if命令的工作原理是运行命令并测试它是否成功,并根据它执行thenelse分支。