对变量的处理,以下四个扩展变量,都是对变量的 值进行判断处理 。
1、如果parameter变量值为空,返回word字符串,赋值给result变量。
命令:result=${parameter : -word}
2、如果parameter变量为空,则word替代变量值,且返回其值命令:${parameter : =word}
3、如果para变量为空,word当作stderr输出(错误信息),否则输出变量值常用于设置变量为空导致错误时,返回的错误信息
命令:${parameter : ?word}
4、如果para变量为空,什么都不做,否则word返回命令:${parameter :+word}
案例操作:
当变量值为空和不为空的时候,扩展变量如何?
1、变量名:- 附加信息
当变量值为空的时候,输出附加信息
当变量值不为空的时候,输出变量本身值
2、:=
当变量值为空的时候,将附加信息赋值给变量
当变量值不为空的时候,输出变量本身值
3、:?
当变量值为空的时候,将附加值作为错误信息输出
当变量值不为空的时候,输出变量本身值。
4、:+
当变量值为空的时候,什么都不做
当变量值不为空的时候,输出附加信息
数据备份,删除过期数据的脚本
find xargs 表示搜索,且删除#删除7天以上的过期数据
find 需要搜索的目录 -name 你要搜索的文件名字 -type 文件类型 -mtime +7 xargs rm -fcat del_data.sh
# shell语法是否有bug
#希望删除某个数据文件夹的备份文件#dir_path=" / data/mysql_back_data/"
#如果有bug歧义,就会在当前目录,搜索,删除
#find ${dir_path} -name '*.tar.gz ' -type f -mtime +7|xargs rm -f
#变量扩展的改进
find ${dir_path:=/data/mysql_back_data/} -name '*.tar.gz' -type f -mtime +7/xargsrm -f
互