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

相关推荐
辞旧 lekkk1 小时前
【Qt系统相关】鼠标事件
linux·开发语言·qt·学习·计算机外设·萌新
是摆烂第一名呀1 小时前
【rk3506】U-Boot串口时钟未配置,导致串口彻底失效
linux·arm开发·驱动开发·嵌入式硬件
星融元asterfusion2 小时前
高效网卡部署与自动化运维:EasyRoCE Toolkit NC 配置指南
运维·自动化
liang89992 小时前
Anconda常用命令
linux·人工智能·conda
无足鸟ICT2 小时前
【RHCA+】管道符
linux·运维·服务器
老约家的可汗2 小时前
Linux的库制作和原理
linux·运维·服务器
曦尧3 小时前
Awesome LLM Apps:一个 100+ 可运行 AI Agent / RAG 模板库的价值与边界
ai·自动化
会编程是什么感觉...3 小时前
立创商城封装转AD自动化 -- JLC2AD_AutoLib
自动化·硬件工程·layout
非鱼䲆鱻䲜3 小时前
CCS 20.5.0的printf重定向串口怎么实现?
linux·单片机·电赛·ccs
左手厨刀右手茼蒿3 小时前
PCIe设备驱动开发:从枚举到DMA传输的完整链路
linux·嵌入式·系统内核