[
このコマンド凄くね? 英数字でもないのにたった一文字。 しかもシェルスクリプトとかそーいうしょぼいのではなくて、 ちゃんとしたバイナリ。 すごいじゃん。 あまりに凄すぎてうっかり消してしまう人、続出。 そんな凄い [ をみんなで賛えるスレ。 Solaris には /bin/[ は存在せず、 >しかもシェルスクリプトとかそーいうしょぼいのではなくて、 /bin/test も ksh スクリプトだったりなんかする(w >>6 [ がないようなくさったシステムには用はない。 つーか、おまえら書きこみが足らんぞ! もっと尊敬汁 (゚Д゚) これってbash2からbuiltin commandになったんだっけ? 斎藤:似たような話はありますよ、「誰か が/binにカギカッコとかいう変なのをのを作 ってたんで消しときました」って。 >>9 ちがうよ。 bash1どころか、ふつーのBourneシェルでもbuiltinだよ。 [ が builtinじゃなかったのはecho pwd とかすら 外部コマンドだったふるーい時代だ。 あの頃は if [ ... ] と書くより case ... in の方が(内部コマンドなので)速い、というテクニックがあった。 >>4-5 Debianなんですが、 $ type [ [ is a shell builtin $ which [ /usr/bin/[ となりました。この/usr/bin/[はcoreutilsに含まれているもののようです。 Enter押そうとしたらミスって[を押してしまう. 皆さんはEnterと[押し間違えませんか? UNIX使いなら普通EnterよりもCtrl-J or Ctrl-Mの方を使うだろ。 それに、普通英語キーを使うから、Enterも近い。 日本語キーはダメね。 $ uname -a SunOS **(host名)** 5.8 Generic_108528-22 sun4u sparc $ type [ [ is a shell builtin $ which [ /usr/local/bin/[ $ file /usr/local/bin/[ /usr/local/bin/[: ELF 32-bit MSB executable, SPARC, version 1 (SYSV), dynamically linked (uses shared libs), not stripped 一方 $ uname -a SunOS **(ホスト名)** 5.6 Generic_105181-35 sun4u sparc SUNW,Ultra-1 $ type [ [ is a shell builtin $ which [ [: Command not found. $ cat /usr/bin/test #!/bin/ksh # #ident "@(#)alias.sh 1.1 95/02/06 SMI" # # Copyright (c) 1995 by Sun Microsystems, Inc. # cmd=`basename $0` $cmd "$@" [ がインストールされてないシステムを使ってるやつは管理者を罵倒しる! おお、スレタイトル見て荒しかと思ったけど UNIX板ならではですね〜 file /bin/[ /bin/[: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 5.0.2, dynamically linked (uses shared libs), stripped %file /bin/[ /bin/[: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 4.8, statically linked, stripped よくこんなスレタイでこんだけ話題が続くな。 恐るべしウニ板。 まぁtest とtsetをtypoする俺様は[必須だ。 テストカキコ用スレかと思って「いいセンスしてやがる」と来てみたが… >>1 マジネタだったんか… 対応がとれてないと気持ち悪いから]が欲しくてたまらない。 ]をどんなコマンドにするか、考えてみないか? このコマンド何? man無いし。--help付けても分からんし。記号だからぐぐれないし。 常識みたいだけどおせーて。 どうも。 うちのlinuxはまともなUNIXじゃないということが良く分かりました。 ログインできる SunOS 5.8 には入ってませんでした。 FreeBSDでやっと man 読めました。 ちなみに、linuxではよく見たらシンボリックリンクでした。 なるほど、隔離板があるわけですね。ためになりました。ありがとうございます。 >>27 $ /usr/bin/[ --help すれ。 ちゃんとヘルプ表示されるぞ。 単に [ だと shell builtin が優先されるので [: missing `]' になる。 >>30 zshでは実行すらできませんでした。 /usr/bin/[ --help zsh: bad pattern: /usr/bin/[ TEST(1) BSD General Commands Manual TEST(1) NAME test, [test - condition evaluation utility SYNOPSIS test expression [test expression ] DESCRIPTION The test utility evaluates the expression and, if it evaluates to true, returns a zero (true) exit status; otherwise it returns 1 (false). If there is no expression, test also returns 1 (false). %where [ /bin/[ %file /bin/[ /bin/[: Mach-O executable ppc %/bin/[ --help % if [ X$hoge = X ]; then ... ってのもバッドノウハウだよな >>34 if [ -z "$hoge" ]; thenじゃだめな理由ってなに? そういえば、/bin/shの[は-eが無いから困る。 >>29 coreutilsに普通に入っていたが... Linuxザウルスかなんかでbusyboxが代わりに入ってるのか? >>38 最近、bashismてんこもりなshell scriptばかり書いてしまう ようになって、あちこちで迷惑かけてまつ。 >>39 $ ls -l /usr/bin/[ lrwxrwxrwx 1 root root 4 Dec 6 23:20 /usr/bin/[ -> test* $ rpm -qf /usr/bin/test sh-utils-2.0.11-9vl5 $ cat /etc/vine-release Vine Linux 2.90 (Valandraud) >>42 Vineは先っちょでもまだcoreutilsが入ってないのか(驚 知らない人のために補足するけどcoreutilsはそれまでの fileutils, sh-utils, textutilsを統合したものね。 >>41 script に bash 指定すれば? #!/bin/bash $ file /usr/bin/[ /usr/bin/[: symbolic link to test % file /bin/[ /bin/[: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 4.9, statically linked, stripped % file /bin/[ /bin/[: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 5.0.2, dynamically linked (uses shared libs), stripped % file /bin/[ zsh: bad pattern: /bin/[ % file /bin/\[ /bin/[: cannot open (/bin/[) % file /usr/bin/\[ /usr/bin/[: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.0, dynamically linked (uses shared libs), stripped [ "X$1" = "Xぬるぽ" ] && reboot >>37 しいて言えば、[で一度評価してるものをifで再度評価してるのが無駄というところか。 % file /bin/\[ /bin/[: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 6.0.0, dynamically linked (uses shared libs), stripped % file /rescue/\[ /rescue/[: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 6.0.0, statically linked, stripped >>68 知らん。 つか、それは内部コマンドじゃないと意味無いだろ。 >>70 チ?ハ、ホ ] 、ホ、ウ、ネ、ノ、ヲサラ、、、゙、ケ、ォ。ゥ read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる