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。

原文地址:https://www.cnblogs.com/sooj/p/3958409.html