9月 212013
twで写真をつけてtweetするやつを、crontabで定期的に動かしているんだけど
家にいる時は動かしたくなかった。
しかし「家にいるかどうか」を判定するのはけっこう面倒くさくて、まあwifiのAPや位置情報で判定すればいいんだけど、
crontabやservice内で使いやすい、手動でやりやすいツールを作ることにした。
ここにある
https://github.com/shokai/now
git cloneしてパスの通っている場所に置く。
仕様
$HOME/.now を読み書きするだけ。使い方
now コンテキスト名 で登録、 now ‘コンテキスト名?’ で判定できる。コマンド自体のexit statusで判定できる。赤い行は直前のコマンドがexit(1)を返している。
crontabやpipeと組み合わせる
0 * * * * now 'home?' && say '家にいます' > /dev/null 2>&1
0 * * * * now 'home?' || (say '家にいません') > /dev/null 2>&1
&& や || でnowのexit statusを判定すればいいですね。
利用例
家にいない時だけ、写真を撮影してtweetするのはこうやる。now 'home?' || (say 撮影します && imagesnap -w 2.0 capture.jpg && tw 定点観測 --user=shokai --file=capture.jpg --yes && rm capture.jpg)
現在のなうをtweetするとか
tw "`now`なう"