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

相关推荐
沐风_ZTL20 分钟前
Ubuntu 22.04中OpenCode 安装与配置完整指南,及常问题解决办法
linux·ai·opencode
实心儿儿20 分钟前
Linux —— Linux进程信号 - 信号保存 和 信号处理
linux
网络与设备以及操作系统学习使用者1 小时前
vi与vim在openEuler中的差异及应用
linux·运维·网络·学习·vim
专注VB编程开发20年1 小时前
python运行提速方案全解
java·linux·服务器
相思难忘成疾1 小时前
Ubuntu 入门:安装、网络、软件一站式教程
linux·网络·ubuntu
luoqice2 小时前
linux下安装rtsp流媒体服务器
linux·音视频
学困昇2 小时前
Linux IPC 详解:匿名管道、命名管道、共享内存与信号量
linux·运维·服务器·c语言·c++·人工智能
汽车搬砖家3 小时前
VM Fusion安装Ubuntu系统
linux
AI小小怪3 小时前
保姆级教程:Ubuntu 22.04 安装 NVIDIA GPU 驱动 + CUDA 12.6(RTX 3080 显卡)
linux·nvidia·cuda
Embedded-Xin3 小时前
ROS2进阶——消息服务质量QOS策略
linux·机器人·嵌入式