envsubst 将环境变量传递给文件
envsubst是一个非常好用的工具,尤其善于处理和环境变量相关的事务
-
envsubst的使用场景:
通常我们需要获取某一个或者几个环境去替换系统中的某些变量,这种情况下我们只需使用sed去简单的替换掉即可,在这种场景中,sed就可以满足我们的需求,但是如果我们需要修改的变量较多,而且不确定到底有哪些变量时,envsubst就排上了用场 -
使用方法:
envsubst < original_file > destination_file
-
应用举例
假设我们需要将某个环境变量添加到脚本中,则我们只需要制作一个模板文件,然后只需要执行一行命令即可实现替换
我们添加一个环境变量预设文件source.txt(也可以在命终端下执行如下两个命令),如下:
export V1=10
export V2=20
再添加一个模板文件tpl.txt
v1=$V1
v2=$V2
执行脚本
source source.txt && envsubst < tpl.txt > env_sub_txt_2
最后验证是否成功替换
替换成功