我試圖設置iwatch
來監視某個目錄以更改某些文件。這似乎是引用簡單,但我有問題逃避命令字符串。這裏有一個例子:無法在Unix命令中轉義某些字符
iwatch -r -x '\.git' -t 'django\.po' -c 'echo ''Hello''' -e modify ./myapplication/locale/
此監控/myapplication/locale/
所有*.po
文件不包括.git
目錄和當一個文件被修改,它運行的命令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
或者你可以使用'iwatch -c「bash -c'git pull && whoami''' –
+1 @Michael,這是一個不涉及外部腳本的好方法。 –
這也行不通。請看看我的編輯。似乎在後臺遇到這些字符時會出現某種XML解析器失敗。 :| –