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

相关推荐
炘爚9 分钟前
深入解析printf缓冲区与fork进程复制机制
linux·运维·算法
workflower17 分钟前
注塑机行业目前自动化现状分析
运维·人工智能·语言模型·自动化·集成测试·软件工程·软件需求
小义_42 分钟前
随笔 3(Linux)
linux·运维·服务器·云原生·红帽
cccccc语言我来了1 小时前
Linux(10)进程概念
linux·运维·服务器
伐尘1 小时前
【linux】查看空间(内存、磁盘、文件目录、分区)的几个命令
linux·运维·网络
Deitymoon1 小时前
linux——PV操作
linux
笨笨饿2 小时前
30_泰勒级数
c语言·stm32·嵌入式硬件·线性代数·机器学习·自动化·概率论
原来是猿2 小时前
Linux进程信号详解(二):信号产生
linux·运维·服务器
Bert.Cai3 小时前
Linux cd命令详解
linux·运维
扑火的小飞蛾3 小时前
Kali Linux 安装 OpenClaw 详细教程
linux·运维·服务器