如果parameter变量值为空,返回word字符串,赋值给result变量
result=${parameter:-word}
如果para变量为空,则word替代变量值,且返回其值
result=${parameter:=word}
如果para变量为空,word当作stderr输出,否则输出变量值
用于设置变量为空导致错误时,返回的错误信息
${parameter:?word}
如果para变量为空,什么都不做,否则word返回
${parameter:+word}
实际应用
数据备份,删除过期的数据脚本
find xargs 搜索,且删除
#删除7天以上的过期数据
find 需要搜索的目录 -name 要搜索的文件名 -type 文件类型 -mtime +7 | xargs rm -f
#希望删除的备份文件的目录:
#dir_path="/data/mysql_back_data/"
#shell语法是否有bug
find ${dir_path} -name '*.tar.gz' -type f -mtime +7 | xargs rm -f
#如果dir_path是空的,就会以当前目录开始查找
#改进:
find ${dir_path:=/data/mysql_back_data/} -name '*.tar.gz' -type f -mtime +7 | xargs rm -f