2012-01-11 120 views
0

我想在bash腳本中使用大括號擴展如下。Brace擴展不工作bash

#!/bin/bash 
document_root="/var/www/www.example.com" 
`chmod -R g+w $document_root/{../captcha,../files}` 

這給我的錯誤

搭配chmod:無法訪問'/var/www/www.example.com/{../captcha,../files}「:沒有這樣的 文件或目錄

但是當我在終端中運行它,它工作得很好。

+0

這是複製粘貼或重新鍵入?你得到的結果看起來像你引用了括號擴展。 – jordanm 2012-01-11 05:39:42

回答

2
#!/bin/bash 
document_root="/var/www/www.example.com" 
chmod -R g+w $document_root/{../captcha,../files} 
  1. 擴大
  2. 你不需要圍繞CHMOD反引號時,不要前綴的變量與$當你分配給一個變量,只是,這樣做把整個事情一個命令
+0

刪除backqoutes給出了完全相同的結果 – pahan 2012-01-11 05:15:17

+0

哦對不起。這是一個錯誤的錯誤,而不是實際的代碼。糾正它。 – pahan 2012-01-11 05:16:52

+0

'echo $ BASH_VERSION'的結果是什麼 – SiegeX 2012-01-11 05:22:02

0

你試過這種方式嗎?

#!/bin/bash 
document_root="/var/www/www.example.com" 
chmod -R g+w $document_root/{"../captcha","../files"}