Shell变量测试

Source

变量测试

在这里插入图片描述

y设置空值

y=""
echo ${
    
      y-2}  # 空
echo ${
    
      y:-2} # 2
echo ${
    
      y+2} # 2
echo ${
    
      y:+2} # 空

x=${
    
      y=2}
echo $x # 空
echo $y # 空

x=${
    
      y:=2}
echo $x # 2
echo $y # 2

y="" #重新为空
x=${
    
      y?2}
echo $x # 空
echo $y # 空

x=${
    
      y:?2} # 报错

y1没有设置

#y1没有设置
x=${
    
      y1-2}
echo $x  # 2
echo ${
    
      y1:-2} # 2
echo ${
    
      y1+2} # 空
echo ${
    
      y1:+2} # 空

x=${
    
      y1=2}
echo $x # 2
echo $y1 # 2

x=${
    
      y2:=2}
echo $x # 2
echo $y2 # 2

x=${
    
      y3?2} # 报错
x=${
    
      y3:?2} # 报错

y有值

自行尝试

如何变量没有设置值或变量为空时,对变量赋值

可以少做一次判断:

x=${
    
      y:=2}