/usr/bin/env python 在 cmdline 上運行,失敗 #!行

/usr/bin/env python 在 cmdline 上運行,失敗 #!行

我試圖透過添加以下“shebang”第一行來使 python 腳本可運行:

#!/usr/bin/env python

但是當我運行該文件時,我得到:

$ myscript.py
: No such file or directory

現在,如果我直接嘗試該env行,它就會起作用:

]$ /usr/bin/env python
Python 2.6 (r26:66714, May  5 2010, 14:02:39)
etc. etc.

為什麼同一行在文件內失敗,但在文件外成功?

答案1

您的 shebang 行中的某個位置可能有無效字元。由於您是插入它的人,因此它可能是一個回車符,即您的行以換行符和回車符結束(或反之亦然) - 採用 ODS 風格的換行符。

嘗試dos2unix在腳本檔案上使用將所有換行符號轉換為僅0x10(UNIX 樣式)。

相關內容