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

相关推荐
0+11117 分钟前
Linux --DNS与ICMP
linux·运维·服务器
河北稳控科技30 分钟前
钢筋应力计 应力与温度同步监测
自动化·工程监测·测量仪器·岩土工程
bjxiaxueliang36 分钟前
一文自建STUN:在Ubuntu上分步搭建STUN服务
linux·运维·ubuntu
高旭的旭1 小时前
图解 Android 系统架构:从 App、Framework、HAL 到 Linux 驱动
android·linux·系统架构
小小、码农1 小时前
[特殊字符]【C++11】类的新功能全面解析:移动构造、移动赋值、default、delete、final 与 override
linux·开发语言·网络·c++
陈让然1 小时前
Ubuntu Podman 容器镜像构建
linux·ubuntu
F&C嘉准传感器2 小时前
国产接近FSCU1808全密封接近开关:CNC油污工况稳定检测,撞机事故减少
人工智能·安全·目标检测·自动化
探索云原生2 小时前
Ascend vNPU 实战:从原生 Docker 到 Ascend Docker Runtime
linux·ai·云原生·kubernetes·gpu
无足鸟ICT2 小时前
【RHCA+】_etc_yum.conf
linux·运维
nazisami2 小时前
操作系统基础IO
linux·缓冲区·系统文件io·一切皆文件