1.变量的处理
1.1 如果parameter变量值为空,那么返回str字符串。
${parameter:-str}
1.2 如果parameter变量值为空,那么str替代变量值,且返回其值。
${parameter:=str}
1.3 如果parameter变量值为空,那么str当作stderr输出,否则输出变量值。
${parameter:?str}
1.4 如果parameter变量值为空,那么什么都不做,否则str返回。
${parameter:+str}
2.对Linux特殊符号的整理
${vars}
取出变量结果
$vars
取出变量结果
$()
在括号中执行命令,且拿到命令的执行结果
`` 在括号中执行命令,且拿到命令的执行结果
()
开启子shell执行命令结果
3.实例
3.1 数据备份时,删除10天以上的过期数据的脚本
shell
find ${dir_path:=/data/mysql_backup/} -name '*.tar.gz' -type f -mtime +10 | xargs rm -f
3.2 批量修改文件名的脚本
shell
for file_name in `ls *test*jpg`;do mv $file_name `echo ${file_name//_test/}`;done