我试图创建一个bash脚本,需要两个参数:一个目录和一个命令。我需要看这个目录的变化,当一些东西改变了我需要执行命令。我真的很新的bash脚本,我不知道我在做什么,所以去容易在我。我也在mac,而不是linux。任何指针,或外部资源将大有帮助。我知道很多人在互联网上尝试这个,没有人可以看到正确的。我真的试图模仿SASS的手表功能。
- #!/bin/bash
- #./watch.sh $PATH $COMMAND
- DIR=$1
- ls -l $DIR > $DIR/.begin
- #this does not work
- DIFFERENCE=$(diff .begin .end)
- if [ $DIFFERENCE = '\n']; then
- #files are same
- else
- $2
- fi
- ls -l $DIR > $DIR/.end
要连续递归监视文件夹(md5)并在更改时执行命令:
- daemon() {
- chsum1=""
- while [[ true ]]
- do
- chsum2=`find src/ -type f -exec md5 {} \;`
- if [[ $chsum1 != $chsum2 ]] ; then
- compile
- chsum1=$chsum2
- fi
- sleep 2
- done
- }
在我的OS X上工作,因为我没有消化。
在Linux上,可以使用md5sum替换md5命令。