【发布时间】:2011-11-17 06:50:37
【问题描述】:
我正在尝试创建 iwatch 来监视目录中某些文件的更改。这似乎很简单,但我在转义命令字符串时遇到了问题。这是一个例子:
iwatch -r -x '\.git' -t 'django\.po' -c 'echo ''Hello''' -e modify ./myapplication/locale/
这会监视除.git 目录之外的所有*.po 文件的/myapplication/locale/,当文件被修改时,它会运行命令echo 'Hello'。
...但是当我尝试使用稍微复杂一点的命令时,我得到了错误:
iwatch -r -x '\.git' -t 'django\.po' -c 'echo git pull && whoami' -e modify ./myapplication/locale/
git pull && whoami 命令是一个有效的 Unix 命令,但我认为我需要以某种方式对其进行转义才能使其工作。我在&&的部分出现错误
关于我做错了什么的任何想法。
谢谢。
编辑#1:尝试迈克尔的建议:
iwatch -r -x '\.git' -t 'django\.po' -c "bash -c 'git pull && whoami'" -e modify ./giosg-chat/locale/
...这是错误。
:5: parser error : xmlParseEntityRef: no name
<path type="recursive" events="modify" exec="bash -c 'git pull && whoami'" a
^
:5: parser error : xmlParseEntityRef: no name
<path type="recursive" events="modify" exec="bash -c 'git pull && whoami'" a
【问题讨论】: