以下是我的bash腳本將寫入nginx配置文件的一段內容。bash腳本將內容寫入文件。文件內容需要bash變量。怎麼做?
WEBAPP=example.com
APPFOLDER=abcapp
CONFFILENAME=abc.conf
read -r -d '' FILECONTENT <<'ENDFILECONTENT'
server {
listen 80;
client_max_body_size 2M;
server_name $WEBAPP;
root /var/virtual/stage.$WEBAPP/current/src/$APPFOLDER/webroot;
}
ENDFILECONTENT
echo "$FILECONTENT" > /etc/nginx/sites-available/$CONFFILENAME
代碼成功地將內容寫入/etc/nginx/sites-available/abc.conf
。
但是,我有兩個bash變量$WEBAPP
和$APPFOLDER
。它們表現得與文件內部完全一樣,而不是example.com
和abcapp
,這正是我的意圖。
如何使腳本按預期工作?
http://www.tldp.org/LDP/abs/html/here-docs.html – ccpizza
幫你一個忙,忘了'read'的存在。這很少有必要而且經常被濫用。 – msw