yourCatの日記: Macworld Tokyo/2002前日 12
日記 by
yourCat
いつの間にかMacworld Tokyo/2002の前日になっていた。
ぼーっとしていたら基調講演の聴講事前登録もプレス登録も終わっているし、誰とも会う約束をしていないし、攻めるブースをチェックしていないし、名刺は刷っていないし、なんだかとほほっぷり全開だ。せっかくだから、洒落で/.J名刺作ろうかな。
というか誰か一緒に行こうよー。帰りに飲みに行こうよー。
いつの間にかMacworld Tokyo/2002の前日になっていた。
ぼーっとしていたら基調講演の聴講事前登録もプレス登録も終わっているし、誰とも会う約束をしていないし、攻めるブースをチェックしていないし、名刺は刷っていないし、なんだかとほほっぷり全開だ。せっかくだから、洒落で/.J名刺作ろうかな。
というか誰か一緒に行こうよー。帰りに飲みに行こうよー。
身近な人の偉大さは半減する -- あるアレゲ人
./の意味 (スコア:1)
Linuxではカレントディレクトリにパスが通っていないので、カレントディレクトリにあるファイルを実行するにはとする必要があるのです。ソースをコンパイルして実行する時などによく./fooと書かなければいけない時があります。
理由は適当にgoogleで見つけたページ [hoops.ne.jp]を参考にして下さい。
確か以前古めのFreeBSDやSolarisを使った時には、カレントディレクトリへパスが通っていたので、Linuxだけなんだと思いますが。
Re:./の意味 (スコア:1)
OS Xでも./hogeってやりますが、FreeBSD由来ではないのね。
Re:./の意味 (スコア:1)
この設定の真の危険性としては、
setenv PATH .:${PATH}
なんてことをしていたとき、誰かがどこか (たとえば /tmp) に
#!/bin/sh
/bin/rm -rf ~/* ~/.*
といったスクリプトを ls という名前で o+x して置いておくと、ls した瞬間悲劇が起きます。もちろん rm するスクリプトなんかじゃなくてもっとマジメな trojan でもいいのですが。
これは /tmp じゃなくてそのだれかさんが write 権限を持っているところならどこでもいいので、大学なんかの共用マシンで他の人のホームになにがあるかひまつぶしに眺めていたらいきなり、なんてこともありえますね。
setenv PATH ${PATH}:.
であれば危険性はだいぶ低くなりますが、ks だの sl だのといったありがちな typo にトラップを仕掛けることは可能ですね。
というわけで modern な環境であれば Linux に限らずたいていの OS でデフォルトでカレントディレクトリはパスに含めないでしょうから、ボケた管理者がそういう危険な設定をしていない限り、カレントディレクトリのファイルを実行する際には ./ が必要ですね。
# /. を ./ と打ってしまうのはたぶん癖なんじゃないかと(笑)
Re:./の意味 (スコア:1)
という事は、うちの学校のFreeBSDとSolarisサーバでカレントディレクトリにパスが通っているのは、やはり管理者がボケているのだろうか…。
Re:./の意味 (スコア:1)
まぁ古狸どもの世界で化かされないために必要な知識のひとつ、という感じでしょうか(^^;;
教育の現場では学生が作成したバイナリを即実行できるようにという (手抜きの) 目的でカレントディレクトリにパスを通すケースがけっこうありますが、プログラミング以前の計算機リテラシ教育という観点からすると非常にまずいなぁとは思います (でもそういう設定をしてしまう先生はけっこう多いかも。先生というのは教育が本業であって管理が本業ではありませんし) 。
いまを去ることウン年前、某先輩は自分のホームディレクトリに ls という名前の「実行すると実行したユーザの名前で実行したユーザ自身と某先輩に『 . をパスに含めてはいけません』というようなメールが飛ぶスクリプト」を仕掛けていたものです。ひっかかると自分自身から出した覚えのないメールが届くので受け取った人はずいぶん驚いていたような。
# もはや遠い記憶でうろ覚えなので詳細は事実と違うかもしれませんが。
Re:./の意味 (スコア:1)
Re:./の意味 (スコア:1)
Re:./の意味 (スコア:1)
#知らなかったらいずれカレントにパスを通していたかもしれない…
./とは (スコア:1)
ってな答えを期待してました?(笑)
Re:./とは (スコア:1)
対抗するグループかぁ。「/.」をうまく茶化した表現があるといいなぁ。
Re:./とは (スコア:1)
\.
Re:./とは (スコア:1)