我試圖透過添加以下“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 樣式)。