Cygwin なんでも掲示板

一覧最新記事過去一覧 | 検索FAQアンテナHOME
(新規投稿・発言はできません)


スレッド

└◇850:
ネットワーク上にあるPerlスクリプトの実行 [brad] 12/13 11:25

 └◇852:Re:ネットワーク上にあるPerlスクリプトの実行 [な] 12/13 <


850● ネットワーク上にあるPerlスクリプトの実行[ brad ] 2002 12/13 11:25
こんにちは。
初めてここで質問させていただきます。

ネットワーク上にあるドライブにあるPerlスクリプトがあって、
bashからそれを実行するとき、フルパスで、しかもWinライクな
パスの指定の仕方をしなければ、動かないのです。

具体的には、Perlスクリプト名だけを打つと

$ txms
Can't open perl script "/cygdrive/l/LCMD/Lbin/txms": No such file or directory

当然パスは通っているのでファイルは見つけてますが、
動いてくれません。

で、フルパスで指定すると、

$ /cygdrive/l/LCMD/Lbin/txms
Can't open perl script "/cygdrive/l/LCMD/Lbin/txms": No such file or directory

やはり同じメッセージで動きません。そこで

$ L:/LCMD/Lbin/txms

と打つと動きます。スクリプトの第一行目には

#!C:\Perl/bin/perl

と書いてあります。ちなみにスクリプトファイルには
拡張子は書いておらず、スクリプトのあるディレクトリに
いくと、スクリプト名だけで動きます。

なにか、初歩的なミスをしているのでしょうか?
どうか、ご教授ください。
スレッド一覧


852● Re:ネットワーク上にあるPerlスクリプトの実行[ な ] 2002 12/13 13:23
初歩的なミスですね。

> と打つと動きます。スクリプトの第一行目には
>
> #!C:\Perl/bin/perl
>
> と書いてあります。ちなみにスクリプトファイルには

とのことですので、ActivePerlかなにか、Windowsネイティブの
perlでスクリプトを実行しようとしています。

Windowsネイティブのperlはcygwinで使う/cygdrive/..形式の
パスを理解できないので、スクリプトを見つけられず、
エラーが発生します。

対策としては、cygwinの/usr/bin/perlを呼ぶようにするか、
http://www.page.sannet.ne.jp/knabe/w3m/w3m.html
にあるようなラッパーを用意し、スクリプトからはラッパーを
呼ぶようにしておけば動作するはずです。
スレッド一覧

早田のホームページへ
CGIROOM