次の「シェバン」の最初の行を追加して、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
おそらく、シェバン行のどこかに無効な文字があります。挿入したのはあなた自身なので、おそらくそれはキャリッジ リターンです。つまり、行は ODS 形式の改行で、改行とキャリッジ リターン (またはその逆) で終わります。
スクリプト ファイルで を使用して、すべての改行を(UNIX スタイル)dos2unix
のみに変換してみてください。0x10