shell中的命令替换和变量替换

一.命令替换

可以用‘command’, 也可以用$(command).

二者是有区别的,先看一下'command'(注意:这里不是引号,而反引号)

1. `command' 用来做命令替换

shell中的命令替换和变量替换_第1张图片


2. $(comand)用来做命令替换

下面这个是$(command)

shell中的命令替换和变量替换_第2张图片


二. 变量替换


变量替换可以根据变量的状态(是否为空、是否定义等)来改变它的值,可以使用的变量替换形式:

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


shell中的命令替换和变量替换_第3张图片

你可能感兴趣的:(shell)