也許inotify-tools是一個選項。
我不知道它們是否也存在於MacOS X下。 Linux用戶將使用yum install inotify-tools
(RedHat)或aptitude install inotify-tools
(Debian/Ubuntu)安裝它。
然後,您可以使用inotifywait
:
while [ true ]; do
inotifywait -e modify test >/dev/null 2>&1
echo "Do something"
done
,使其背景,包裝這樣說:
{ while [ true ]; do inotifywait -e modify test >/dev/null 2>&1 ; echo "Do something" ; done }& echo $! > ~/inotitfy.something.pid
它將不斷循環並運行inotifywait
如果-e
事件發生時將退出然後在本例中運行echo
。通過&
創建後臺進程後。後臺進程ID將被傳送到~/inotitfy.something.pid
。
停止它殺死的過程是這樣的:
kill -15 `echo ~/inotitfy.something.pid`
你也可以把第一的變體進入screen。
請注意,也可能有一個inotifyexec
(就像在Debian Squeeze上一樣),但並不是所有時間都適用於我,並且在所有發行版上都不可用(所以我總是使用我自制的方法)。
Git不能自行完成,但根據操作系統的不同,您應該可以創建一個守護進程,例如,使用OSX,您可以編寫一個shell腳本來執行提交併在launchd中進行設置。 – vcsjones
你應該說你是否在OS X或Windows(我假設它是前者)。 –
嗨,感謝您的評論。我使用的是OS X.是否有建議創建這種性質的shell腳本的資源?謝謝。 – Mindthetic