- 这四个扩展变量(+,-,=,?),都属于对变量的值进行判断、处理
如果parameter变量值为空,返回word字符串,赋值给result变量
result=${parameter:-word}
如果parameter变量值为空,则word替代变量值,且返回其值
result=${parameter:=word}
如果para变量为空,word当做stderr输出,否者输出变量值
用于设置变量为空导致错误时,返回的错误信息
${para:?word}
如果para变量为空,什么都不做,否则word返回给接受者
${para:+word}
[root@localhost cahnge_more_file]# res=${name1:-madaha}
[root@localhost cahnge_more_file]# echo $res
madaha
[root@localhost cahnge_more_file]# unset name1
[root@localhost cahnge_more_file]# echo $name1
[root@localhost cahnge_more_file]# res=${name1:=madaha}
[root@localhost cahnge_more_file]# echo $res
madaha
[root@localhost cahnge_more_file]# echo $name1
madaha
[root@localhost cahnge_more_file]# unset name1
[root@localhost cahnge_more_file]# ${name1:?}
-bash: name1: 参数为空或未设置
[root@localhost cahnge_more_file]# ${name1:?未设置参数啊啊啊啊啊}
-bash: name1: 未设置参数啊啊啊啊啊
[root@localhost cahnge_more_file]# unset res
[root@localhost cahnge_more_file]# echo $res
[root@localhost cahnge_more_file]# res=${name:+madaha}
[root@localhost cahnge_more_file]# echo $res
madaha
# 删除指定目录下面某个时间一下的文件
path=/data/mysql/logs
find ${path:=/data/mysql/logs} -name *.tar.gz* -type f -mtime +7 | xargs rm -f