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

相关推荐
袁袁袁袁满5 分钟前
Linux云服务器如何判断系统是否发生过异常断电?
linux·运维·服务器
学不完的15 分钟前
haproxy
linux·运维·https·负载均衡·haproxy
LCG元36 分钟前
STM32MP1边缘网关:Linux系统下Modbus转MQTT协议转换实战
linux·stm32·嵌入式硬件
cyber_两只龙宝2 小时前
Nginx--企业高性能web服务器高级配置详解
linux·运维·nginx·云原生
i建模3 小时前
Omarchy设置防火墙
linux·运维
S-码农4 小时前
Linux ——条件变量
linux·开发语言
爱写代码的liding4 小时前
linux安装软件过程中报找不到某些动态链接.so文件
linux
青衫码上行4 小时前
【项目部署】Spring Boot项目部署的四种方式
java·linux·服务器·spring boot·后端·docker·腾讯云
礼拜天没时间.5 小时前
JumpServer堡垒机部署与实战:从0到1搭建统一运维入口
linux·运维·架构·堡垒机·jumpserver·sre
林姜泽樾5 小时前
linux入门第四章,cd指令和相对、绝对路径
linux·运维·服务器