2016-07-12 4 views
-1

私はLinux Mint 17.1 Rebecca 64ビットで作業しています。 Windowsコンピュータにある共有マウントされたハードドライブ上にPerlスクリプトが見つかりません

は、私は単純なPerlスクリプトという名前のtest.plを持っている:

#!/usr/bin/perl 

print "Hello\n" ; 

権限のある-rwxr-xr-x

私のPATH変数です:

このスクリプトは私のユーザーのbinディレクトリ/ homeにある/mnt/USERS/user1/:/home/myLogin/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games/myLogin/binでは、単純にbinディレクトリの外で起動できます:

test.pl 

コマンド:OKらしい

which test.pl 

リターン

/home/myLogin/bin/test.pl 

私のLinuxでは、私のローカルネットワークのどこかにある共有ウィンドウハードドライブをマウントします。 このスクリプトを/ mnt/USERS/user1 /にマウントされたWindowsのハードドライブに移動すると、/ mnt/USERS/user1 /が$ PATH変数にあってもこれを実行できなくなります。 システムは「コマンドが見つかりません」と応答します。 私はcdコマンドで、このディレクトリに移動した場合、私は簡単なことで、スクリプトを起動することはできません。

test.pl 

エラーが「コマンドが見つかりません」です。

私がしようとした場合:私がしようとした場合

./test.pl 

エラーは今

を "アクセス許可が拒否されました":

perl test.pl 

を、それが完璧に動作... 何が悪いです? Thanx

+0

私は自分のLinuxがこのディスクをLinuxディスクと同じように見たと思っていました。コマンドラインにperl接頭辞を付けずにスクリプトを起動する方法はありますか? – Fabrice

+1

@serenesat私はWindows上ではない... – Fabrice

+0

あなたの状況を適切に記述してください。あなたの質問の価値は、他の人にも同様の問題を抱えるのを助けるためです。あなた自身のデバッグをしてください。例えば、 'which test.pl'の出力が大いに役立つでしょう。 * "私はWindowsではない"のようなファンシーカムバック*それは本当ではないので、あなたを全く助けない。もしあなたが助けを望むなら、礼儀正しく、有益なものにしてください。問題を再現することはできないので、私はあなたの質問を閉じることに投票しています。 – Borodin

答えて

1

エラーは「コマンドが見つかりません」です。

あなたは(./test.plとは違って)それへの明示的なパスなしでコマンドを入力すると、あなたのシェルは$PATHに記載されているディレクトリを検索します。これには通常、./(現在のディレクトリ)が含まれていないため、スクリプトは見つかりません。あなたが直接スクリプトを実行しようとすると

エラーになりました(ファイルのパーミッションは、perlを実行し、引数としてそれをスクリプトの場所を渡すことにしなければならないとは対照的に

を「アクセス許可が拒否されました」

Windowsファイルのアクセス許可はUNIXファイルのアクセス許可と似ていません。また、UNIXのようなシステムにマウントされたWindowsのフォーマットされたディスクは通常、(mountコマンドで)ハードコードされたファイルのアクセス許可を持ちます。これらには、実行するファイルの実行権限は含まれません。

+0

マウントされたディスクのパスは、$ PATH – Fabrice

+0

@ user6579342に設定されています。それでもファイル権限の問題があります。 – Quentin

+0

my $ PATHは/ mnt/USERS/user1 /:/ home/myLogin/bin:/ usr/local/sbin:/ usr/local/bin:/ usr/sbin:/ usr/bin:/ sbin:/ bin :/ usr/games:/ usr/local/games – Fabrice

関連する問題