アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
コンピュータは旧約聖書の神に似ている、規則は多く、慈悲は無い -- Joseph Campbell
VMWareイメージも (スコア:3, 参考になる)
LiveCDやVMwareイメージでの提供もされているようですね。
20代の自分にはMINIXというと、名前だけ聞いたことのある
過去のモノ、という印象が強かったのですが、こういう
配布形態を用意してきたということで、それが若干
払拭されたような気がします。
それとも、元々教育用であったことを考えるとこの配布形態は
至極当たり前なのでしょうか。
Re:VMWareイメージも (スコア:0)
/bin にある [ ってファイルは何だろう?
中身は cd コマンドと同じなんだけど(笑)
実行方法も分からない。orz
あと、サスペンドが使えませんね。
vi 中にサスペンドさせようとすると、ログアウトするし。
Re:VMWareイメージも (スコア:0)
UNIX(およびその派生)を使ったことは無いのかな?
man [
すればわかりますが、test コマンドです。
シェルスクリプトを、見やすく(書きやすく)するためのシンタックスシュガーのようなもの。
普通のUNIXなら test へのハードリンクなんですが、これは…シェルスクリプトになってますね。
さらには /bin/cd が存在して、しかもシェルスクリプトだというのは、UNIX使いからするとかなり異様な感じ。(普通はシェルの組み込みコマンドとして実装)
Re:VMWareイメージも (スコア:1)
POSIX 的には、cd も外部コマンドとして存在する必要があったかと思います。
ただし、外部プログラムでカレントディレクトリを変えても呼び出し元は変わりませんので、
本来の目的としては意味無しです。
指定したディレクトリが存在するときは成功するので、
ディレクトリの存在チェックには使えたかと。
Re:VMWareイメージも (スコア:1)
シェルにカレントディレクトリの変更を依頼するメッセージをとばす。
みたいなコマンドにすれば解決?
せっかくマイクロカーネルなんだからさ。メッセージで会話しようよ!
Re:VMWareイメージも (スコア:1, おもしろおかしい)
> UNIX(およびその派生)を使ったことは無いのかな?
UNIX はバリバリ使ってますが・・・
> すればわかりますが、test コマンドです。
知りませんでした。
ありがとうございます。
ちなみに HPUX, AIX, SunOS には /bin, /usr/bin の下に [ なんてファイルはありませんでした。
man [ も無かったです。
linux にはありました。
test コマンドへのシンボリックリンクになってました。
今気づきましたが、MINUX では、12個のコマンドが、同じハードリンクになってますね。
[ cd command echo expr false getopts read test true umask wait
Re:VMWareイメージも (スコア:2, 参考になる)
if [ -f foo ]; then …
って書いた時は、実は、
> [ -f foo ]
すなわち、
> test -f foo ]
というコマンドが実行されて、その実行結果の真偽を判定している、と。
この手のよく使うコマンドについて、イチイチ別プログラムを実行するのはオーバーヘッドが大きいので、
最近のシェルでは、built-in な内部コマンドになっていることが多いです。
で、そうなると、内部コマンドに用意されたものは、外部コマンドとしてはもう不要なわけですが、
POSIX 的には外部プログラムとして存在することを要求しているので、おそらくそのために、
> 今気づきましたが、MINUX では、12個のコマンドが、同じハードリンクになってますね。
> [ cd command echo expr false getopts read test true umask wait
といったものを用意しているのでしょう。
おそらく、中身は、内部コマンドとして $0 を実行するようなシェルスクリプトになっているのではないでしょうか。
環境変数に結果を返す getopts と read なんかは、外部コマンドとしてはたぶん完全に意味無しですね。
Re:VMWareイメージも (スコア:1)
少なくともSunOS 5.8あたりでは、ファイルなくてもsh(1)で[ は
使えるようです。これは、内部コマンド化されているからです。
また、外部コマンドのtest(1)もリンクを張ると [ としてもちゃんと動作します。
そもそも、/etc/init.d以下の起動スクリプトで、[ を使いまくり。:-)