Linux envsubst Command

基本语法

envsubst [SHELL-FORMAT]

envsubst 用于将 stdin 中的 变量占位符 替换为 bash变量的值,并输入到 stdout。
(若变量不存在,则替换为空字符串。)

变量占位符支持两种格式:$VARIABLE${VARIABLE}
SHELL-FORMAT:用于限定需要替换的变量,多个变量可以通过逗号或者空格分隔。默认全部替换。

示例

简单示例

执行命令:echo 'my name is $USER, directory is $HOME.' | envsubst | cat
(等价于 echo 'my name is ${USER}, directory is ${HOME}.' | envsubst | cat

输出结果:my name is root, directory is /root.

限定需要替换的变量

执行命令:echo 'my name is $USER, directory is $HOME.' | envsubst '$USER' | cat
输出结果:my name is root, directory is $HOME.
可以看到,只指定了$USER,则$HOME不会被替换为值。

执行命令:echo 'my name is $USER, directory is $HOME.' | envsubst '$USER,$HOME' | cat
(等价于 echo 'my name is $USER, directory is $HOME.' | envsubst '$USER $HOME' | cat
输出结果:my name is root, directory is /root.

替换模板文件中的变量,并输出到文件

假设模板文件 info.template 的内容为:my name is $USER, directory is $HOME.
目标写入文件为:my.txt

执行命令:cat info.template | envsubst '$USER,$HOME' > my.txt

最终,my.txt 文件的内容为:my name is root, directory is /root.

  • 另一种命令格式
    envsubst '$USER,$HOME' < info.template > my.txt
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐