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

相关推荐
郝学胜-神的一滴16 分钟前
深入理解TCP协议:数据格式与核心机制解析
linux·服务器·网络·c++·网络协议·tcp/ip
数据知道20 分钟前
一文掌握 MongoDB 详细安装与配置(Windows / Linux / macOS 全平台)
linux·数据库·windows·mongodb·macos
济61725 分钟前
linux 系统移植(第十三期)---Linux 内核移植(2)- CPU 主频修改--- Ubuntu20.04
linux·运维·服务器
生活很暖很治愈26 分钟前
Linux基础指令——【2】
linux·服务器·后端·ubuntu
zl_dfq41 分钟前
Linux 之 【进程间通信】
linux
源创力环形导轨42 分钟前
环形导轨:自动化生产线的核心传输解决方案
运维·人工智能·自动化
zl_dfq1 小时前
Linux 之 【进程间通信】(匿名管道与命名管道、pipe、进程池、mkfifo、unlink)
linux
UP_Continue1 小时前
Linux--进程优先级和进程切换
linux·运维·服务器
Maggie_ssss_supp1 小时前
Linux-MGR单主集群部署
linux·运维·服务器
YuTaoShao1 小时前
【LeetCode 每日一题】3510. 移除最小数对使数组有序 II
linux·算法·leetcode