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

相关推荐
深爱水瓶 血影S狂风17 分钟前
函数调用过程探究
linux·运维·服务器
酷可达拉斯32 分钟前
Linux操作系统-磁盘空间使用率100%如何处理?
linux·运维·服务器·云计算·bash
Lyra_Infra1 小时前
Java 应用启动脚本 JDK 路径适配优化文档
java·shell
AIgorithmGEEK1 小时前
Linux 权限管理:从「Permission Denied」到「畅行无阻」
linux·权限·chmod·粘滞位·umask·文件权限的构成
BullSmall2 小时前
scanoss-engine 本地最简部署 & 扫描命令(Linux/Anolis OS)
linux·运维·服务器
bellus-2 小时前
Ubuntu 26.04 Miniforge3 安装与配置完整指南
linux·运维·ubuntu
用什么都重名4 小时前
Ubuntu 24.04 安装 NVIDIA 驱动:解决 “NVIDIA-SMI has failed“ 报错全记录
linux·运维·ubuntu
Industio_触觉智能4 小时前
瑞芯微ISP内核驱动深度解析|RKISP39从架构到Probe初始化全流程(上篇)
linux·嵌入式硬件·硬件架构·摄像头·isp·瑞芯微·rk3576
有续技术4 小时前
三菱 (Mitsubishi) 机床 设置查看 IP 地址
linux·服务器·网络
Dr.kangder4 小时前
AI4SE:AI赋能软件工程——从自动化到智能化的演进之路
人工智能·自动化·软件工程