shell

ブックマークの整理をしていて素晴らしいページを発見。
って、つまり一年以上前にブックマークして華麗に忘れていたんだけど。

スマートな紳士のためのシェルスクリプト – @IT

この人は経験値があって話が上手いな、真似したい。
筆者が自分のことを筆者と書いているのはそういう人達の真似だったり…
でも一番素敵と思ったのは (2) で駄目と書かれた

if type logger > /dev/null 2>&1; then
    LOGGER="logger -s -p user.notice -t dhclient"
else
    LOGGER=echo
fi

で。

いや、絶対パスに入っているかどうかはディストリビューション側の仕事で。
サードパーティ側はコマンドが使えるかどうか「だけ」が重要ですんで。

いやまて…
コレってインタラクティブシェルだとどうなる?
面白そうなので早速。

dev_null

インタラクティブシェルでもやはり何も出力されない。
>>> の PS2 変数さえ無視される、打ち込んだキー以外は完全破棄のようだ。
だけど exit() 等の関数は普通に通用されてしまう、面白い。
なので、gedit や gnome-terminal は問題なく起動できてしまう。

でも eog はどうやっても駄目、あぁなるほど。
eog って GNOME Project の中でもかなり特殊と感じていたのはコレか。
もの凄く優秀なアプリなんだけど GNOME の思想と何か違う、みたいな。
それが何かはまだ解らないけど、まあそれは別の話で。

あぁそういう手があったのか、みたいな。
mac でも当然使えるしシェルスクリプト覚書に追記しようかと。