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

相关推荐
2401_8955213413 小时前
Linux下安装Redis
linux·运维·redis
handler0113 小时前
拒绝权限报错!三分钟掌握 Linux 权限管理
linux·c语言·c++·笔记·学习
Wmenghu14 小时前
Ubuntu手动安装jdk;Ubuntu手动安装Maven;Ubuntu手动安装RocketMQ;Ubuntu手动安装RocketMQ-Dashbo
java·linux·ubuntu
SPC的存折14 小时前
10、Docker容器故障排查
linux·运维·数据库·docker·容器
liuyunshengsir14 小时前
linux 下新增用户后无法使用TAB补全功能的最佳解决方法
linux·运维·服务器
书生执笔画浮沉15 小时前
rpmrebuild
linux·centos·rpm
志栋智能16 小时前
超自动化巡检:驱动运维团队从操作走向优化
运维·服务器·自动化
乌托邦的逃亡者16 小时前
Dockerfile的配置和使用
linux·运维·docker·容器
小此方16 小时前
Re:Linux系统篇(三)指令篇 · 二:十二个高频指令精讲+重定向操作+“一切皆文件“深入理解
linux·运维·服务器
十五年专注C++开发16 小时前
MobaXterm:Windows 远程工作全能工具箱
linux·windows·mobaxterm