知乎专栏 |
[root@localhost tmp]# echo "welcome $HOME ${USER:=a8m}" | envsubst welcome /root root
[root@localhost tmp]# cat config.template HOME=${HOME} USER=${USER} [root@localhost tmp]# envsubst < config.template > config.conf [root@localhost tmp]# cat config.conf HOME=/root USER=root
只替换 ${USER} 变量
[root@localhost tmp]# envsubst '${USER}' < config.template > config.conf [root@localhost tmp]# cat config.conf HOME=${HOME} USER=root
模版变量
${var} var值( 与 $var 相同) ${var-$DEFAULT} 如果未设置 var,则将表达式计算为 $DEFAULT ${var:-$DEFAULT} 如果未设置var或者为空,则将表达式计算为 $DEFAULT ${var=$DEFAULT} 如果未设置 var,则将表达式计算为 $DEFAULT ${var:=$DEFAULT} 如果未设置var或者为空,则将表达式计算为 $DEFAULT ${var+$OTHER} 如果为 var,则将表达式计算为 $OTHER,,否则为空字符串 ${var:+$OTHER} 如果为 var,则将表达式计算为 $OTHER,,否则为空字符串