出於某種原因,在我的腳本之一的家當不工作:家當可執行沒有發現,因爲UTF-8 BOM(字節順序標記)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
print "Hello World"
當我執行這個文件,我得到一個錯誤
% ./test.py
./test.py: 1: #!/usr/bin/env: not found
沒有與我/usr/bin/
目錄的內容沒有問題:既env
和python
在那裏,用正確的執行權。
事實上,根據Unicode標準,「對於UTF-8既不要求也不建議使用BOM ,但在其他編碼形式(其中 使用BOM或將BOM用作UTF-8簽名)轉換爲UTF-8數據的上下文中可能會遇到 。 –
雖然編輯器提供的默認* UTF8編碼(簡稱爲「UTF-8」)實際上是一種使用BOM的「風險」編碼,但對於不知情的程序員來說,使用Notepad ++犯的錯誤的風險很高。 –
@Sebastien Notepad ++是一個* Windows *程序。如果你想用一個衆所周知的編輯器來生成跨平臺代碼,那麼你就必須在所有配置上測試代碼,因爲編輯器不會關心這些細節以使代碼可移植。即使使用更多試圖跨平臺的開放式軟件,情況也是如此。 – Bakuriu