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

相关推荐
一技安身2 小时前
【信创】银河麒麟V10、统信UOS解压7Z文件
linux·运维·服务器
奔跑的架构师3 小时前
[A-50]ARMv9/v8-DVFS系统架构
linux·arm开发·架构·系统架构·arm
迷途呀3 小时前
CI/CD 自动化部署实践:让代码提交后自动上线
linux·运维·nginx·ci/cd·自动化
赴生-3 小时前
Liunx 操作系统 进程概念(上)
linux
binqian3 小时前
【linux】OpenSSH升级文档
linux·运维·网络
吴声子夜歌4 小时前
Shell编程——if条件语句
linux·运维·shell
Dawn-bit4 小时前
Linux 运维基础扩展:跳板机、堡垒机与物理服务器全流程
linux·运维·服务器·云计算·运维开发
xhbh6664 小时前
主流系统备份软件横向评测:从大型集群到终端备份选型
自动化·数据备份·文件备份·系统备份·同步备份·备份软件
新时代牛马4 小时前
Linux 定时任务:crontab、anacron 与systemd timer
linux·运维·服务器
微三云 - 廖会灵 (私域系统开发)4 小时前
架构师视角:用AI Agent与超级APP重构私域自动化盈利系统
人工智能·重构·自动化