2012-01-11 91 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"}