Fswatch 可以用來檢測資料夾與文件的變更

最近在用 vim 練習 golang,真的是 go run 到手累心也累,
就到網路上搜看看有沒有可以監控檔案存檔事件的工具,
於是找到了這款 Mac 可以使用的 Fswatch

安裝

mac 上安裝就直接
brew install fswatch

腳本

因為我只要監控 go file 有沒有異動,
如果有的話幫我 compilar,所以腳本中有限定 .go 檔。

#!/bin/bash

BASEDIR=$(dirname "$0")

fswatch "$BASEDIR" | while read file
do
    filename=$(basename -- "$file")
    extension="${filename##*.}"
    filename="${filename%.*}"

    if [ "$extension" = "go" ]
    then
        echo "=============================================\n\n"
        time go run ${file}
    fi
done

Demo

Auto compilar demo

Reference