shell脚本中${var1:-var2}
在一个shell脚本中看见一行代码:
DATE=${1:-`date "+%Y%m%d" -d "-1 day"`}
查了一下
${var1:-var2}
这种结构执行过程:如果变量var1有定义且不为空时,返回$var1,如果var1未定义或者为空,则返回‘-’后面的内容。
所以开头的代码的含义就是先检查脚本执行时有没有传递参数,如果有,则将第一个参数赋给变量DATE,如果没有传递参数,则将`date "+%Y%m%d" -d "-1 day"`的值赋给DATE。