[英]Perl script not found when on a shared mounted hard drive located on a Windows computer
我正在研究Linux Mint 17.1 Rebecca 64位。
我有一個簡單的Perl腳本,名為test.pl:
#!/usr/bin/perl
print "Hello\n" ;
權限為-rwxr-xr-x
我的PATH變量是: /mnt/USERS/user1/:/home/myLogin/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
當此腳本位於我的用戶bin目錄/ home / myLogin / bin中時,可以通過以下簡單方法在bin目錄之外啟動它:
test.pl
命令 :
which test.pl
返回
/home/myLogin/bin/test.pl
好像還可以
在我的Linux上,我安裝了一個共享Windows硬盤驅動器,該驅動器位於本地網絡中的某個位置。 如果我將此腳本移至/ mnt / USERS / user1 /上Windows安裝的硬盤驅動器,即使/ mnt / USERS / user1 /在$ PATH變量中,也無法再運行它。 系統回答“找不到命令”。 如果我使用cd命令轉到此目錄,則無法通過簡單的方式啟動腳本:
test.pl
錯誤是“找不到命令”。
如果我嘗試:
./test.pl
該錯誤現在為“權限被拒絕”
如果我嘗試:
perl test.pl
它工作正常...怎么了??? 謝謝
錯誤是“找不到命令”。
當您鍵入沒有明確路徑的命令時(不同於./test.pl
),您的外殼程序將搜索$PATH
列出的目錄。 它通常不包括./
(當前目錄),因此找不到腳本。
該錯誤現在為“權限被拒絕”
當您嘗試直接執行腳本時(與執行perl
並將腳本的位置作為參數傳遞給它相反),文件許可權必須允許執行。
Windows文件權限與UNIX文件權限不同,並且在類似UNIX的系統上安裝的Windows格式化磁盤通常具有硬編碼(在mount命令中)文件權限。 這些不包括您要執行的文件的執行權限。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.