cygwinのパス検索はドライブレターがあると正常に動作しない | とあるエンジニアの現実的妄想

cygwinのパス検索はドライブレターがあると正常に動作しない

もっとも。

私が使っているcygwinは1.1.4でかなり古いので、そのせいかもしれないし、使用しているtcshが悪いのかもしれないが。


tcshを使って、スクリプトを組んでいたのだが、

if [ -x $hogepath ]

が正常に動作しない。この、hogepathは、"hoge"を入れている。そして、pathの中には、c:/bin/が入っており、c:/bin/hogeは存在し、実行可能となっている。


hoge


と入力すると、ちゃんと正常に動作する。

PATHの区切りが本来:であるのだから、:の含まれているパスが正常に動かないのは、ある意味当然なのだ。だが、hoge と入力して実行可能だということは、その辺の問題はないということになる。


が、tcsh本体の解釈と、testコマンドの解釈は違うかもしれないので、一応、pathの設定をc:/binから/cygdrive/c/binに変更して試してみる。


不思議なことに、うまくいく。

どうも、tcshからtestコマンドを実行して、-xで実行可能かどうか調べる際のパス検索が正常に行っていないようだ。


ということで。


cygwinを使用していて、テストコマンドの-xの挙動に迷っている人は、パスにドライブレターがないか調べてみると解決するかもしれない。


--ryuuri/りゅうり/流離


このページの内容は役に立ちましたか?


              1 2 3 4 5

役に立たなかった  ■ □ □ □ □  役に立った


※当然のことだが、上の□は単なるテキストなのでクリックしても何の反応もない