揮発性のメモ2

http://d.hatena.ne.jp/iww/

ファイルから数字を読んで1足してまた書き戻す

echo $((`cat /tmp/hoge 2>/dev/null`+1)) > /tmp/hoge

ファイルが無いときは1を書く


6/10追記
/tmp/hogeを先に書き込みでオープンしちゃわないかこれと思ったが、bashコマンドライン展開機能の方が先に動作しているので問題なかった。

$ strace echo $((`cat /tmp/hoge 2>/dev/null`+1)) > /tmp/hoge
execve("/bin/echo", ["echo", "3"], [/* 20 vars */]) = 0
brk(0)                                  = 0x804f000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)