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

相关推荐
Magic--8 分钟前
Linux静态库与共享库(动态库)详解
linux·运维·服务器
桌面运维家13 分钟前
TCP拥塞控制:丢包诊断与Linux网络性能优化
linux·网络·tcp/ip
袖手蹲15 分钟前
Arduino UNO Q 板载 Nanobot 自动化编程指南之五
运维·自动化
残雪飞扬29 分钟前
Ubuntu上安装 WinBoat(让linux上运行windows软件)
linux·windows·ubuntu
m0_6831247931 分钟前
无U盘装Ubuntu
linux·运维·ubuntu
默|笙33 分钟前
【Linux】进程信号(2)_信号捕捉_中断
linux·运维·服务器
东方不败之鸭梨的测试笔记35 分钟前
UI自动化执行时,元素不在视野内,需要拖动滑动条才能找到,这种元素怎么处理?
运维·ui·自动化
图灵机z38 分钟前
【操作系统】四、进程管理
linux·服务器·网络·windows·macos·centos·risc-v
新新学长搞科研44 分钟前
【高届数人工智能会议】第七届人工智能、网络与信息技术国际学术会议(AINIT 2026)
运维·网络·人工智能·计算机网络·自动化·信号处理·可信计算技术
haaaaaaarry1 小时前
【操作系统】第三章 内存管理(一)
linux·考研·操作系统