Shell编程自动化之特殊Shell扩展变量

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

相关推荐
赖small强几秒前
【Linux C/C++开发】Linux C/C++编译参数 `-fPIC` 深度解析
linux·c语言·c++
每日出拳老爷子2 分钟前
[Python自动化] 用 Python + Selenium 做一个“浏览器重复操作录制器”:录一次,自动点一百次(附GUI+源码)
python·selenium·自动化
阿蔹2 分钟前
Selenium
软件测试·selenium·测试工具·自动化
雪碧聊技术3 分钟前
linux服务器的java项目如何重新部署(之前已经部署过的情况)?
linux·nohup·java项目重新部署·杀掉进程
漏洞文库-Web安全4 分钟前
渗透测试中的方法论
linux·运维·学习·安全·web安全·网络安全·逆向
素雪风华4 分钟前
永久关闭Ubuntu 终端 Tab /vim自动补全时的蜂鸣声
linux·服务器·ubuntu
jiayong235 分钟前
Linux ps 命令深度解析与实战技巧
linux·运维·服务器
月亮!6 分钟前
智能合约的安全验证实践
网络·人工智能·python·测试工具·安全·自动化·智能合约
凤凰战士芭比Q9 分钟前
(二)zabbix监控(Windows、java、网络设备、物理服务器)
linux·zabbix
未知原色10 分钟前
NODE.JSB快速下载及安装
linux·运维·node.js