envsubst批量替换环境变量实现配置文件自动修改

创建test.txt

cat << EOF > test.txt
HOME = ${HOME}
PATH = ${PATH}
API_URL = ${API_URL}
EOF

查看test.txt文件内容如下:

HOME = ${HOME}
PATH = ${PATH}
API_URL = ${API_URL}

替换${HOME}为对应环境变量值,输出结果到test1.txt

envsubst '${HOME}' < test.txt > test1.txt

查看test1.txt文件内容如下:

HOME = /root
PATH = ${PATH}
API_URL = ${API_URL}

替换${HOME}和${PATH}为对应环境变量值,输出结果到test2.txt

envsubst '${HOME},${PATH}' < test.txt > test2.txt

查看test2.txt文件内容如下:

HOME = /root
PATH = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
API_URL = ${API_URL}

替换所有的环境变量,输出结果到test3.txt

envsubst < test.txt > test3.txt

查看test3.txt文件内容如下(注意:因为API_URL环境变量不存在,所以替换为了空字符串):

HOME = /root
PATH = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
API_URL =
原文地址:https://www.cnblogs.com/nihaorz/p/13454426.html