還有一個類似Windows的問題,但它不適用於基於Unix的計算機(特別是OS X)。在命令行中執行perl而不指定UNIX中的perl
我想輸入一個文件的名稱,比如說example.pl
或example.pl parametertext.txt
,並且知道它執行perl。
我在文件中指定了#!/usr/bin/perl
,所以它可以找到可執行文件。相反,我得到的消息:
bash: example.pl: command not found
還有一個類似Windows的問題,但它不適用於基於Unix的計算機(特別是OS X)。在命令行中執行perl而不指定UNIX中的perl
我想輸入一個文件的名稱,比如說example.pl
或example.pl parametertext.txt
,並且知道它執行perl。
我在文件中指定了#!/usr/bin/perl
,所以它可以找到可執行文件。相反,我得到的消息:
bash: example.pl: command not found
你能做到這樣,
/usr/bin/perl
或/usr/bin/env perl
#!/usr/bin/perl
。chmod +x example.pl
現在它將會運行
$ ./example.pl
你需要做的頂線(以下簡稱「認領」)#!/usr/bin/perl
(注意斜線,你有一個空格)。然後,首先你需要確保它是你的perl
可執行文件的正確路徑(輸入which perl
來查看它的位置)。如果它在其他地方,請適當修改路徑。然後您需要確保腳本具有執行權限設置。鍵入ls -l example.pl
,並在第一列(特別是第四個字符)中查找x
。如果它不存在,則需要使腳本可執行chmod a+x example.pl
。最後,要運行該程序,您需要使用./example.pl
。 ./
告訴你的shell你想要當前目錄下的腳本。
我有兩個想法補充:
1)要使用example.pl test1.txt的您的路徑應該包含一個點。 echo $ PATH /usr/bin:/ usr/X11R6/bin:/ usr/bin/X11 :.
2)你的文件行尾應該是unix,\ n。至少你的shebang行包含perl路徑,以\ n結尾。
是不是應該是'#!/ usr/bin/perl'?沒有空格(不知道是否重要)和完整路徑?另外,你的.pl文件是否可執行? (嘗試'chmod + x example.pl')。更不用說如果'.'不在你的'PATH'中,那麼你需要運行'。example.pl'而不是'example.pl'。 –
你還設置了可執行文件嗎? 「不工作」是什麼意思,你能給出錯誤信息嗎? –
@DanFego是的,我認爲autocorrect碰到它,但我沒有忘記/ – Chris