1、命令简介
envsubst:在shell格式字符串中替换环境变量
2、命令用法
envsubst [OPTION] [SHELL-FORMAT]
3、命令描述
在正常操作模式下,标准输入被复制到标准输出,对 $VARIABLE
或 ${VARIABLE}
形式的环境变量的引用被替换为相应的值。如果给出了 SHELL-FORMAT,则仅替换那些在 SHELL-FORMAT 中引用的环境变量;否则,标准输入中出现的所有环境变量引用都将被替换。
使用--variables
时,标准输入被忽略,输出由 SHELL-FORMAT 中引用的环境变量组成,每行一个。
4、使用示例
1)替换指定的环境变量
# cat cjavapy.txt
HOME = ${HOME}
PATH = ${PATH}
API_URL = ${API_URL}
# envsubst '${HOME},${PATH}' < cjavapy.txt > cjavapy1.txt
# cat cjavapy1.txt
HOME = /home/cjavapy
PATH = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
API_URL = ${API_URL}
2)替换所有环境变量
# cat cjavapy.txt
HOME = ${HOME}
PATH = ${PATH}
API_URL = ${API_URL}
# envsubst < cjavapy.txt > cjavapy1.txt
# cat cjavapy1.txt
HOME = /home/cjavapy
PATH = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
API_URL =
注意:环境变量中没有会被替换成空字符串。