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

相关推荐
Codigger官方5 分钟前
算力的去中心化重构:简析Codigger分布式计算生态
linux·vim
Linux技术芯12 分钟前
浅谈 NVMe over Fabrics (NVMe-oF) 协议
linux
爱装代码的小瓶子21 分钟前
【C++与Linux基础】文件篇 -语言特性上的文件操作
linux·开发语言·c++
杨了个杨898224 分钟前
Nginx 升级 OpenSSL 版本
linux·服务器·nginx
ruxshui31 分钟前
Notepad++ 正则匹配实战:时间戳及高频场景
linux·服务器·notepad++
游戏开发爱好者832 分钟前
在 Windows、Linux 与 CI 环境下命令行上传 IPA 到 App Store
linux·windows·ios·ci/cd·小程序·uni-app·iphone
@zulnger33 分钟前
selenium 自动化测试工具实战项目(客户)
selenium·测试工具·自动化
Zach_yuan33 分钟前
Linux下的网络基础
linux·运维·服务器·网络
雨季66635 分钟前
构建 OpenHarmony 简易分账计算器:用除法解决日常公平难题
javascript·flutter·ui·自动化·dart
freejackman35 分钟前
持续集成-Jenkins 基础教程
java·python·ci/cd·自动化·jenkins·持续部署·持续集成