1. 程式人生 > 實用技巧 >envsubst批量替換環境變數實現配置檔案自動修改

envsubst批量替換環境變數實現配置檔案自動修改

建立test.txt

cat << EOF > test.txt
HOME = \${HOME}
PATH = \${PATH}
API_URL = \${API_URL}
EOF

檢視test.txt檔案內容如下:

HOME = ${HOME}
PATH = ${PATH}
API_URL = ${API_URL}

替換${HOME}為對應環境變數值,輸出結果到test1.txt

envsubst '${HOME}' < test.txt > test1.txt

檢視test1.txt檔案內容如下:

HOME = /root
PATH = ${PATH}
API_URL 
= ${API_URL}

替換${HOME}和${PATH}為對應環境變數值,輸出結果到test2.txt

envsubst '${HOME},${PATH}' < test.txt > test2.txt

檢視test2.txt檔案內容如下:

HOME = /root
PATH = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
API_URL = ${API_URL}

替換所有的環境變數,輸出結果到test3.txt

envsubst < test.txt > test3.txt

檢視test3.txt檔案內容如下(注意:因為API_URL環境變數不存在,所以替換為了空字串

):

HOME = /root
PATH = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
API_URL =