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

相关推荐
运营小白17 分钟前
SEONIB AI 内容自动化流水线深度评测
人工智能·自动化·内容运营·跨境电商·社交媒体·ai skill
myy-learn30 分钟前
27-进程通信
linux·服务器·网络
按时下班accept31 分钟前
ERA5生成驱动LBM模型的数据
linux
高亦真38 分钟前
今天是学习嵌入式的第32天
linux·学习·算法
gx23482 小时前
k8spod管理
linux·容器·kubernetes
susplus3 小时前
【linux应用软件编程】进程间的通信方式1【管道&IPC】
linux·进程通信·管道·ipc
AlfredZhao7 小时前
用 crontab 给 LLM 使用量装上“监控眼”
linux
刃神太酷啦9 小时前
Linux 系统 MySQL 完整安装配置教程:从卸载 MariaDB 到优化 my.cnf----《Hello MySQL!》(1)
android·linux·c语言·c++·mysql·leetcode·mariadb
DsirNg10 小时前
让流程会停下:AI 自动化的交班设计
自动化·可观测性·幂等性·智能体·ai 工作流·人工在环·工单分流
赵文宇(温玉)10 小时前
OpenEuler24.03 SP4 系统安装(欧拉/麒麟V10)
linux·openeuler·欧拉