Linux環境変数の内容でテキストを置き換える方法

ヨメレバCSS
オリジナルCSS

 設定されている環境変数の内容でテキストを置き換えるコマンドのメモ。

 Docker使って設定ファイルを最初に用意したりするときに便利です。

スポンサーリンク
GoogleAdSence レクタングル(大)

envsubstを使う

 gettextパッケージに入っているenvsubstコマンドを使用します。

 こちらはテキストの中に書かれている環境変数を置換してくれるコマンドです。

 例えば次のような環境変数が設定しておきまして、

$ export HOGE=hogeenv

 ファイルに${HOGE}と書いておきます。

$ cat env.template
${HOGE}

 これをenvsubstコマンドに流し込むと、HOGEが置換されます。

$ cat env.template |envsubst
hogeenv

設定されていない環境変数は空になる

 環境変数の内容で置換してくれる便利なコマンドですが、$を付けた文字列を変数とみなしてしまうので、置換する環境変数が無かった場合は空文字にしてしまいます。

gettextパッケージが必要

 このコマンドはgettextパッケージに入っています。Dockerイメージなどでは入っていないことも多く、見つからなければ別途インストールが必要です。

スポンサーリンク
GoogleAdSence レクタングル(大)

シェアする

スポンサーリンク
GoogleAdSence レクタングル(大)