バカが征くから。
リダイレクトを使って良い なら、
$ :> hello $ ls -l hello -rw-rw-r-- 1 sugi sugi 0 2006-08-29 08:33 hello
とか。こんな小ネタしか書けないのが我ながら情けない話であるな。
インターネット崩壊論の鈴木常彦先生がアナウンスしていたので知ったイベント。
なんだかメンバーが無茶苦茶面白そうなので参加させて貰うことに。 しかし、東京のイベントに全然行てけない割に名古屋…… (それにしてもタイミングが合わないかチケットは買えないかですれ違いまくりなのはどうにも。)
……いつの話でしょうって突っ込みは無しで!
ABD のセッションに出ておけば良かったなあと後悔するも、 全然準備不足なのを痛感しました。
4bitさん(で良いのかな?)が 非常に有り難いまとめ を書かれていたので自分用にメモだけ。
しかし ActiveRecord を未だ全然手を付けていないので、 どうやって Rails で ABD をやるのか全く分かっていない。 取り敢えず PHP の propel は触っているけれど、 これで ABD をやるのはかなり辛そうだ。
目覚しをセットした携帯電話を会社に忘れていく。 するとそれを止めるために早朝に出社することが出来る。
問題は置き忘れたことを覚えていないといけないことだけど(ほんとにそれだけ?)。
バカが征くより。
ここで、このコマンドがどういう経緯で出来たのか語れたりすると良いのでしょうが、残念ながら全く知りません。もしだれか知ってたらお願いします。
自分は昔、一緒に仕事していた人が
while :; do sleep 10; 何か; done
とかやっているの見て、まさに「なんすかそのコロン?」だったんですが。 機能的には /bin/true と同じようです。0 を返して、単になにもしないコマンド。
POSIX にも入っているそうなのですが、省略形がわざわざ用意されると言うことは、よく使われていたんでしょうか? 似たようなものは "[" とか "." がありますけれど、"." と比べても使用頻度は微妙な気がするのだけども。
まあでも短いので、上の無限ループとか変数展開なんかには便利です。 自分はよくこんな使い捨てスクリプトを書いたり。
#!/bin/bash : ${DB_NAME:="myapp_dev"} : ${DB_USER:="dev"} : ${DB_PASS:="moge"} echo "hoge" | mysql -v -u $DB_USER -p"$DB_PATH" "$DB_NAME"
普段はそのまま起動して、変えたいときだけ
DB_NAME=myapp_prod ./script_path
の様に。
閑話休題。
リダイレクトでファイルを空にするには、 単に何も出力しなくコマンドならなんでも良いわけなので、 (副作用が無い必要はあるけれど)
echo -n "" > a.file false > a.file test > a.file [ ] > a.file :> a.file
多分いくらでも出てくると思いますが、一番短いだろうなあと思ったわけです。
……しかし。今考えてみれば、そもそもコマンドいらんのではないか?
> a.file
うん。本当にリダイレクトだけで出来ますね。