乐趣区

关于后端:Linux-工具命令03-使用-envsubst-渲染配置文件

Linux 工具命令(03): 应用 envsubst 渲染配置文件

如果在 公众号 文章发现状态为 已更新 ,倡议点击 查看原文 查看最新内容。

状态: 未更新

原文链接: https://typonotes.com/posts/2…

envsubst 替换 shell 字符串或脚本中的环境变量。

这个一个十分有用的命令,在 nginx 容器镜像中,就应用了这个命令进行了 启动文件的初始化。

在日常工作中,也经常用来渲染 环境变量 到配置文件的模版中。

在不应用任何选项时,将 stdin 复制到 stdout,用适当的环境变量值替换任何环境变量字符串,例如 $VARIABLE${VARIABLE}

例如,My editor is $EDITOR 将转换为 My editor is /usr/bin/emacs

三种应用模式

  1. 默认模式 ,这种模式会替换所有 变量站位符 ,包含 $abc 或者 ${abc},如果变量不存在,则应用 进行替换。
## 全副替换
$ envsubst < input-file.txt > output-file.txt
  1. 白名单模式 ,这种模式能够指定 须要替换 白名单变量

这种模式就是的麻烦点在于 当白名单变量 太多的时候,命令看起来就乱哄哄的。同时扩展性有余,每减少一个变量就须要批改渲染命令。

## 白名单模式
$ envsubst '${key1} ${key2}' < input-file.txt > output-file.txt
  1. 命令行管道,看看就好,素来没这么用过。
$ echo '${abc}' | envsubst

装置形式

envsubst: command not found

当呈现找不到命令时,装置形式能够参考

  1. alpine 中装置
$ apk add --no-cache gettext

alpine 安装包搜寻小技巧: site:pkgs.alpinelinux.org envsubsst

  1. ubuntu 中装置
$ apt install gettext-base
# 或者
$ apt install gettext

同样的,ubuntu 安装包搜寻小技巧

site:manpages.ubuntu.com telnet

相互吹捧,共同进步

欢送和我一起学习提高,如果有什么问题,能够给我私信留言。或者

  1. 加我好友 线下探讨。
  2. 关注我的 公众号 – 老麦胖熊猫 或者 B 站账户 – 老麦胖熊猫 订阅最新文章和更多精彩内容
退出移动版