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

相关推荐
weixin_4572605015 小时前
Linux 命令精讲(博客案例)
linux·运维·服务器
听风lighting15 小时前
RTT-SMART学习 (二):启动过程
linux·c·rtt·rtos·rtt-smart
Elendill15 小时前
【Ubuntu】Mihomo 安装、systemd 托管、TUN 配置、API 测速与切换节点
linux·运维·ubuntu
姜太小白15 小时前
【Linux】CentOS 7 XRDP 远程桌面配置
linux·运维·centos
嵌入式吴彦祖15 小时前
Luckfox Pico Ultra W 编译脚本分析(一)
linux
听风lighting15 小时前
RTT-SMART学习(一):环境搭建
linux·嵌入式·c·rtos·rtt-smart
顾喵15 小时前
SRIO通信总线
linux·windows·microsoft
Warren9815 小时前
Windows 本地安装 Jenkins 教程
linux·运维·windows·功能测试·mysql·jenkins
weitingfu15 小时前
Excel VBA 入门到精通(十):实战项目——自动化报表系统开发
ai·信息可视化·自动化·excel·vba·office·报表系统
汤愈韬15 小时前
ip-prefix(IP前缀列表)
linux·服务器·网络协议·tcp/ip