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
。
三种应用模式
- 默认模式, 这种模式会替换所有 变量站位符, 包含
$abc
或者${abc}
, 如果变量不存在, 则应用 空 进行替换。
## 全副替换$ envsubst < input-file.txt > output-file.txt
- 白名单模式, 这种模式能够指定 须要替换 的 白名单变量。
这种模式就是的麻烦点在于 当白名单变量 太多的时候, 命令看起来就乱哄哄的。 同时扩展性有余, 每减少一个变量就须要批改渲染命令。
## 白名单模式$ envsubst '${key1} ${key2}' < input-file.txt > output-file.txt
- 命令行管道, 看看就好, 素来没这么用过。
$ echo '${abc}' | envsubst
装置形式
envsubst: command not found
当呈现找不到命令时, 装置形式能够参考
- 在
alpine
中装置
$ apk add --no-cache gettext
alpine 安装包搜寻小技巧: site:pkgs.alpinelinux.org envsubsst
- 在
ubuntu
中装置
$ apt install gettext-base# 或者$ apt install gettext
同样的, ubuntu 安装包搜寻小技巧
site:manpages.ubuntu.com telnet
相互吹捧, 共同进步
欢送和我一起学习提高, 如果有什么问题, 能够给我私信留言。 或者
- 加我好友 线下探讨。
- 关注我的 公众号 - 老麦胖熊猫 或者 B站账户 - 老麦胖熊猫 订阅最新文章和更多精彩内容