:-句法
在这个命令中,因为变量username虽然已被定义但是为空值,echo语句将使用LOGNAME变量的值。
username=””
echo “${username:-$LOGNAME}”
这里username变量的值保持不变。这个命令和使用=句语法的不同之处是,在此命令被执行前,仅仅在代码中的“${}”句法中做替换。也就是说,echo命令将输出LOGNAME变量的值,但是这个值不会被赋给username变量。
参考:https://www.cnblogs.com/fhefh/archive/2011/04/22/2024750.html