Bash shell中变量的多个可能值

Bash shell中变量的多个可能值,bash,shell,Bash,Shell,是否有某种方法可以在shell中的一些可能值中指定一个值,如下所示: variable = $(command1) or $(command2) 知道这两个命令中只有一个会给出结果,如果command1返回非零(错误)返回码,| |操作符将计算command2 variable=$(command1 || command2) variable=$(command1 && command2) 类似地,如果command1返回(ok)零返回码,&&运算符将对command2求值

是否有某种方法可以在shell中的一些可能值中指定一个值,如下所示:

variable = $(command1) or $(command2)

知道这两个命令中只有一个会给出结果,如果command1返回非零(错误)返回码,| |操作符将计算command2

variable=$(command1 || command2)
variable=$(command1 && command2)
类似地,如果command1返回(ok)零返回码,&&运算符将对command2求值

variable=$(command1 || command2)
variable=$(command1 && command2)
e、 g.变量赋值:

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
的输出分配给
变量
,否则将分配
command2
的输出

2>/dev/null
用于在任何命令失败时抑制stderr