test

昨日の話。
大学で作業してたらなんか、make でプログラムをコンパイルして実行したんだけど何も表示されない、助けてくれ、というから見てみたんだけど、Makefile がこんなの

test: test.o
    gcc -o test test.o

test.o: test.c
    gcc -c -o test.o test.c

で、

% test

とやって何もでないといっている。あ〜、定番だなと思いながら、

% ./test

とやって見せて、

% which test
/usr/bin/test

となるのを見せてこっちが実行されたんだと説明。
てか test って /usr/bin なんだ。/bin じゃないんだな。Ubuntu じゃ gzip も more も zless も /bin に入っているのに(でも less は /usr/bin )、test はまだ /usr/bin なのか。
ところで、

if [ "$0" -le 10 ]; then
fi

とか書いたりするときの "[" が test の hard link だということは案外知られていない気がする。どうだろう。

追記

どこでも hard link というわけでもない。翌日のエントリ参照。