トップページunix
123コメント24KB

[

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。NGNG
このコマンド凄くね?
英数字でもないのにたった一文字。
しかもシェルスクリプトとかそーいうしょぼいのではなくて、
ちゃんとしたバイナリ。
すごいじゃん。

あまりに凄すぎてうっかり消してしまう人、続出。

そんな凄い [ をみんなで賛えるスレ。
0102名無しさん@お腹いっぱい。2008/05/17(土) 12:58:02
あれ? テストスレじゃなかったの?
0103名無しさん@お腹いっぱい。2008/05/18(日) 22:37:48
:
0104名無しさん@お腹いっぱい。2008/05/18(日) 22:39:51
>>103
>>66
0105名無しさん@お腹いっぱい。2008/10/18(土) 00:52:12
cygwinいじってたら、英字で一文字コマンドがあるな
x

Xが立ち上がったw
0106名無しさん@お腹いっぱい。2009/08/16(日) 10:51:47
1文字だけのコマンドというと、他に w があるな
0107名無しさん@お腹いっぱい。2009/08/19(水) 12:34:26
X
0108名無しさん@お腹いっぱい。2010/09/14(火) 03:19:43
昔 if/while [ 条件 ];then って構文だと思ってた時期があったな.
確か初めてcygwin使ったときに,binディレクトリの一番上に [.exe ってのがあるのを見て,
それがコマンドなのを知ったんだっけ.なつかしい.
0109名無しさん@お腹いっぱい。2011/06/14(火) 13:59:29.87
[ と [[ と test の違いを教えて
0110名無しさん@お腹いっぱい。2011/06/14(火) 14:45:09.91
[[ は bash の構文
[ は test のエイリアス(ハードリンク)

test と [ はシェル内蔵版もあるけど、基本的には独立したコマンドで、
[ という名前で呼び出された場合、最後のオプションが ] であることを確認したりとか
振る舞いが異なる。
0111名無しさん@お腹いっぱい。2011/06/14(火) 14:52:39.23
>>110
ありがとう!

$ ls -li /usr/bin/{[,test}
685996 -rwxr-xr-x 1 root root 30156 12月 17 05:10 /usr/bin/[
686039 -rwxr-xr-x 1 root root 26056 12月 17 05:10 /usr/bin/test

でもハードリンク?
inodeもファイルサイズも違うみたいなんだけど何でだろ?

ちなみにLinuxで、coreutils-8.7
0112名無しさん@お腹いっぱい。2011/06/14(火) 15:12:03.51
うーん

違うこともあるかも
0113名無しさん@お腹いっぱい。2011/06/14(火) 15:21:24.84
まぁ深くは考えない事にします
[[ はbashの構文というのと test より [ のほうがメジャーという事にしときます。
うちの環境ではtestのmanは入ってるのに[のmanが入ってなかったのに少しショックを受けましたが。
0114名無しさん@お腹いっぱい。2011/06/14(火) 21:12:57.11
>>111
coreutils だと [ と test は別。
[ のソースは lbracket.c で、中身はこんなん。

#define LBRACKET 1
#include "test.c"
0115名無しさん@お腹いっぱい。2011/06/14(火) 21:16:47.42
>>113
> [のmanが入ってなかった
/usr/share/man/man1/[.1.gz ない?
0116名無しさん@お腹いっぱい。2011/06/15(水) 07:29:18.65
> #include "test.c"

内容的には同じかな?
0117名無しさん@お腹いっぱい。2011/06/15(水) 08:27:38.53
#define LBRACKET 1 でちょっとだけ変わる。
--help の解釈とか。
0118名無しさん@お腹いっぱい。2011/07/14(木) 09:34:57.09
>>10 って出典はよしだともこさんのroot訪問記かなぁ?
0119名無しさん@お腹いっぱい。2011/07/14(木) 09:36:45.73
coreutils は、自分の名前によって挙動が変わるプログラムは邪悪だ、
という哲学なのかな。
0120名無しさん@お腹いっぱい。2011/10/31(月) 17:56:21.16
>>119
GNUのcoding standardに書いてある。
0121名無しさん@お腹いっぱい。2011/10/31(月) 18:11:09.42
具体的にどこに?
0122名無しさん@お腹いっぱい。2011/10/31(月) 19:11:28.11
>>121
https://www.gnu.org/prep/standards/standards.html#User-Interfaces
> Please don’t make the behavior of a utility depend on the name used to invoke it.
0123名無しさん@お腹いっぱい。2011/10/31(月) 21:55:19.68
なるほど。
ありがとう。
■ このスレッドは過去ログ倉庫に格納されています