命令替换是指shell 可以先执行命令,将输出结果暂时保存,再适当的地方输出 `command`
#命令替换 反引号在Esc键的下方
${var} 变量本来的值
${var:-word} 如果变量值为空,或被删除 (unset),那么返回 word, 但不改变var的值
${var:=word} 同上,但将var的值设置为 word;
#命令替换 反引号在Esc键的下方
#!/bin/bash
DATA=`date`
echo "Data is $DATA"
${var} 变量本来的值
${var:-word} 如果变量值为空,或被删除 (unset),那么返回 word, 但不改变var的值
${var:=word} 同上,但将var的值设置为 word;
${var:?message} 如果变量值为空,或被删除 (unset),那么将消息message 送到标准错误输出,可以用来检测变量var 是否可以被正常赋值.若此替换出现在Shell 脚本中,那么脚本将停 止运行.
${var:+word} 如果变量var 被定义,那么返回word ,但不改变var 的值
#!/bin/bash
echo ${var:-"Variable is not set"}
echo "1- Value of var is ${var}"
echo ${var:="Variable is not set"}
echo "2- Value of var is ${var}"
unset var
echo ${var:+"This is default value"}
echo "3- Value of var is ${var}"
var="Prefix"
echo ${var:+"This is default value"}
echo "4- Value of var is ${var}"
echo ${var:?"var is not defined"}
echo "5- Value of var is ${var}"
unset var
echo ${var:?"var is not defined"}
echo "6- Value of var is ${var}"