Skip to content

LV040-替换

一、 Shell 替换

如果表达式中包含特殊字符, Shell 将会进行替换。

1. 变量替换

变量替换可以根据变量的状态(是否为空、是否定义等)来改变它的值。

shell
${Variable}          # 变量本来的值
${Variable:-word}    # 如果变量 Variable 为空或已被删除(unset),那么返回 word,但不改变 Variable 的值。
${Variable:=word}    # 如果变量 Variable 为空或已被删除(unset),那么返回 word,并将 Variable 的值设置为 word。
${Variable:?message} # 如果变量 Variable 为空或已被删除(unset),那么将消息 message 送到标准错误输出,可以用来检测变量 Variable 是否可以被正常赋值。若此替换出现在 Shell 脚本中,那么脚本将停止运行。
${Variable:+word}    # 如果变量 Variable 被定义,那么返回 word,但不改变 Variable 的值。

2. 命令替换

2.1 使用格式

命令替换是指 Shell 先执行命令,将输出结果暂时保存,在适当的地方输出。

shell
`command`  # 注意是反引号 ` `,按键位于 Esc 下方

2.2 使用实例

shell
#!/bin/bash
DATE=`date` 
echo "Date is $DATE"

运行结果为:

shell
Date is 2022年 02月 09日 星期三 18:27:51 CST