Quantcast
Channel: Bashタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 2914

GoのEchoを自動リフレッシュしてくれるスクリプト

$
0
0

はじめに

GoのEchoを少し触っていて、Flaskのように変更適用時に自動でリフレッシュしてくれる機能があれば便利だなと思いました。特に、ソースコードに影響を及ぼさずに外部から環境を構築することが、ミスを減らすために重要だと感じ、シェルスクリプトを書きました。コイツは、カレント以下の変更を検知するようにしてあるので、./module/等の変更にも対応してくれます。

まあまあ便利なものができたなと思っているので、よかったら使ってみてください。

実行環境

fswatchを使います。

# Mac$ brew install fswatch
# Ubuntu$ sudo apt install fswatch

シェルスクリプト

Makefilemake runを設定していれば、当スクリプトを同一ディレクトリに配置してそのまま実行すると良いです。

autoreloader.sh
#!/bin/bashfunction cleanup(){app_pid=`/bin/ps -fu$USER| grep"make run" | grep-v"grep" | awk'{print $2}'`if[[${#app_pid}!= 0 ]]then
        kill${app_pid}fi}trap cleanup EXIT

while :;do
    make
    make run &
    app_pid=`/bin/ps -fu$USER| grep"make run" | grep-v"grep" | awk'{print $2}'`fswatch_result=$(fswatch -1 .)kill${app_pid}done

Viewing all articles
Browse latest Browse all 2914

Trending Articles