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

相关推荐
Felven3 分钟前
华为昇腾310P模型转换失败问题解决
linux·python·模型训练·昇腾·310p
水瓶_bxt11 分钟前
在 Linux 系统中安装新字体
linux·运维·服务器
春日见13 分钟前
虚拟机vmware linux的piix4_smbus : SMBus Host Controller not enabled
linux·运维·服务器
AttaGain17 分钟前
Ubuntu24中ISO文件制作工具
linux·ubuntu
代码游侠25 分钟前
学习笔记——线程
linux·运维·开发语言·笔记·学习·算法
怪只怪满眼尽是人间烟火25 分钟前
离线环境下部署区块链FISCO BCOS v2.11.0
linux·运维·区块链
努力努力再努力wz32 分钟前
【Linux网络系列】:网络+网络编程(UDPsocket+TCPsocket)
java·linux·c语言·开发语言·数据结构·c++·centos
姬嘉晗-19期-河北工职大33 分钟前
在虚拟机的 Linux 系统(CentOS 7)中搭建一个「虚拟机本地网站」
linux·运维·centos
hkhkhkhkh12334 分钟前
Linux 内核三大核心结构体详解(驱动开发视角)
linux·数据结构·驱动开发·字符设备
怪我冷i38 分钟前
wsl Ubuntu切换中科大源
linux·windows·ubuntu·ai编程·ai写作