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

相关推荐
IT大白鼠6 小时前
Linux进程与计划任务管理:技术详解与实战指南
linux·运维·服务器
拾贰_C6 小时前
【Ubuntu | 公共工作站 | mysql 】 MySQL残留物残留数据
linux·mysql·ubuntu
Ujimatsu7 小时前
虚拟机安装Ubuntu 26.04.x服务器版(命令行版)(2026.5)
linux·windows·ubuntu
hweiyu007 小时前
Linux命令:arptables
linux·运维
2601_957786778 小时前
短视频矩阵全链路自动化系统的技术架构与性能实测
矩阵·架构·自动化
仙柒4158 小时前
管理网络安全
linux·运维·服务器
JZC_xiaozhong9 小时前
2026年深圳企业如何统一管理ERP、MES、OA权限?身份识别与访问管理高效方案
大数据·运维·自动化·企业数据安全·数据集成与应用集成·权限治理·多系统权限管理
福尔摩斯·柯南9 小时前
Ubuntu 14.04/16.04/18.04/20.04/22.04/24.04/26.04全系列LTS长期支持版镜像IOS分享
linux·运维·ubuntu
xiaoming001810 小时前
JAVA项目打包部署运维全流程(多服务、批量)
java·linux·运维
醉颜凉10 小时前
Elasticsearch 实战:数据自动化清理完全指南(ILM + 定时删除 + 最佳实践)
elasticsearch·自动化·jenkins