91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

envsubst命令怎么使用

發布時間:2023-04-15 17:40:34 來源:億速云 閱讀:174 作者:iii 欄目:開發技術

這篇文章主要介紹“envsubst命令怎么使用”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“envsubst命令怎么使用”文章能幫助大家解決問題。

0 | 是什么

envsubst 縮寫來自于 environment variable substitution,即環境變量替換,是一個用于替換 shell 環境變量的工具。

它可以讀取輸入并在其中查找環境變量,然后將這些環境變量替換為其對應的值,最后輸出結果。在Linux和Unix操作系統上默認自帶。

通過這個命令,我們可以配置一些模板文件,然后通過定義環境變量的方式,將變量傳遞到模板文件中,從而動態地生成配置文件。在 linux 運維里,屬于比較高階但是很實用的一個命令。

1 | 怎么用

Usage: envsubst [OPTION] [SHELL-FORMAT]
Substitutes the values of environment variables.
Operation mode:
  -v, --variables             output the variables occurring in SHELL-FORMAT
Informative output:
  -h, --help                  display this help and exit
  -V, --version               output version information and exit
In normal operation mode, standard input is copied to standard output,
with references to environment variables of the form $VARIABLE or ${VARIABLE}
being replaced with the corresponding values.  If a SHELL-FORMAT is given,
only those environment variables that are referenced in SHELL-FORMAT are
substituted; otherwise all environment variables references occurring in
standard input are substituted.
When --variables is used, standard input is ignored, and the output consists
of the environment variables that are referenced in SHELL-FORMAT, one per line.

翻譯一下:

在正常操作模式下,標準輸入被復制到標準輸出,對 $VARIABLE 或 ${VARIABLE} 形式的環境變量的引用被替換為相應的值。如果給出了 SHELL-FORMAT,則僅替換那些在 SHELL-FORMAT 中引用的環境變量;否則,標準輸入中出現的所有環境變量引用都將被替換。

使用--variables時,標準輸入被忽略,輸出由 SHELL-FORMAT 中引用的環境變量組成,每行一個。

2 | 舉例說明

首先,假設我有一個模板文件如下:

$ cat envsubst-template.yaml
apiVersion: v1
kind: Deploy
metadata:
  name: $name
  namespace: $ns

接著,分幾種 case 來使用 envsubst,以便于更好的理解。

  • case 1 | envsubst-template 從 envsubst 里拿變量 name 和 ns 的值,然后將替換后的 yaml 重定向到 envsubst-1.yaml 里

$ name='hello' ns='world' envsubst < envsubst-template.yaml > envsubst-1.yaml
$ cat envsubst-1.yaml
apiVersion: v1
kind: Deploy
metadata:
  name: hello
  namespace: world

注意, $ name='hello' ns='world' envsubst < envsubst-template.yaml > envsubst-1.yaml 也可以用export的方式定義:

$ export name='hello' 
$ export ns='world' 
$ envsubst < envsubst-template.yaml > envsubst-1.yaml
  • case 2 | 和 case 1 不同的地方是指定了 SHELL-FORMAT 為 $name, 意思是只將模板 yaml 里的 $name 變量用 envsubst 傳入的變量替換掉,其他($ns)保持不變

$ name='hello' ns='world' envsubst '$name'< envsubst-template.yaml > envsubst-2.yaml
$ cat envsubst-2.yaml 
apiVersion: v1
kind: Deploy
metadata:
  name: hello
  namespace: $ns
  • case 3 | 主要展示的是 --variables 這個 option 的作用:可以看到,當加上了這個變量后,標準輸入被忽略,輸出由 SHELL-FORMAT 中引用的環境變量組成

$ name='hello' ns='world' envsubst --variables '$name'&lt; envsubst-template.yaml &gt; envsubst-3.yaml
$ cat envsubst-3.yaml 
name
  • case 4 | 主要展示的是 --variables 這個 option 的作用:可以看到,當加上了這個變量后,標準輸入被忽略,輸出由 SHELL-FORMAT 中引用的環境變量組成, 每行一個

$ name='hello' ns='world' envsubst --variables '$name,$ns'< envsubst-template.yaml > envsubst-4.yaml
$ cat envsubst-4.yaml 
name
ns

關于“envsubst命令怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

聂荣县| 长顺县| 乌什县| 永修县| 嵊泗县| 扎鲁特旗| 呼和浩特市| 伊宁县| 刚察县| 老河口市| 梨树县| 甘孜| 广州市| 邢台市| 南昌县| 乌兰县| 芮城县| 德州市| 新野县| 台湾省| 东乡| 泰顺县| 神农架林区| 靖远县| 大冶市| 年辖:市辖区| 龙江县| 灌阳县| 江达县| 贞丰县| 呈贡县| 兴国县| 海盐县| 石柱| 广平县| 神农架林区| 威海市| 安多县| 蛟河市| 藁城市| 合山市|