外壳中变量的多个可能值

  • 本文关键字:变量 外壳 bash shell
  • 更新时间 :
  • 英文 :


有没有办法从shell中的一些可能值中分配一个值,如下所示:

variable = $(command1) or $(command2)

知道这两个命令中只有一个会给出结果

如果 command1 返回非零(错误)返回代码,则 || 运算符将计算 command2

variable=$(command1 || command2)

同样,如果 command1 返回(确定)零返回代码,&运算符将计算 command2。

variable=$(command1 && command2)

例如,变量的赋值:

var=$(ls zasdasd || echo "file does not exist") 
echo $var    ## outputs "file does not exist"

通过将错误流 2 定向到/dev/null,可以抑制错误输出

var=$(ls zasdasd || echo "file does not exist") 2>/dev/null

你可以做:

variable=$(command1 2>/dev/null || command2 2>/dev/null)

如果成功,这会将command1的输出分配给variable,否则它将分配来自command2的输出。

2>/dev/null可以抑制 stderr,以防任何命令失败。

相关内容

  • 没有找到相关文章

最新更新