2016-01-23 42 views
0

我做在bash文件的一切。我抓住變量從參數:如何將bash變量傳遞給字符串?

brand="$1" 
email="$2" 

之後,我想對他們的包括字符串裏:

cd /etc/nginx/sites-available/ 

echo 'server { 
    listen  80; 
    server_name $brand.mydomain.com; 
    root   /srv/www/clients/$brand/soon; 
}' >> default 

但回聲的$ brand.mydomain.com。如何回顯我作爲參數傳遞的實際值?

+4

在'echo'中使用雙引號而不是單引號。 –

回答

1

單引號不允許任何擴大。雙引號允許擴展變量,但最好用括號括起來,如圖所示。

echo "server { 
    listen  80; 
    server_name ${brand}.mydomain.com; 
    root   /srv/www/clients/${brand}/soon; 
}" >> default 
+0

謝謝,幫助! – funguy

+0

這裏不需要大括號。 '.'和'/'字符不是有效的變量名稱字符,所以它們終止名稱。當由字母數字或下劃線包圍用大括號包圍的實踐中,經常需要在csh,其中膨脹是不同的,但只在bash。 – cdarke