/usr/bin/python^M: bad interpreter: No such file or directory
848 ワード
分析:
これは異なるシステムの符号化フォーマットによるものである:windowsシステムで編集された.sh .pyファイルに非表示文字がある場合がありますので、Linuxシステムで実行すると上記の異常情報が表示されます.一般的にwindows行の末尾とlinux行の末尾の識別が異なるためです.
解決:
1)Windowsで変換:
UltraEditやEditPlusなどのエディタを使用して、スクリプトをエンコードしてからLinuxで実行します.変換方式は以下の通り(UltraEdit):File-->Conversions->DOS->UNIXでよい.
2)linuxで直接置換:
sed-i's/^M//g'filename(注意^Mはlinuxで^Mを押すと折り返し改行符、入力方法はCTRL+vを押してvを放してmを押す)
3)Linuxで変換することもできます.
まず、ファイルに実行可能な権限があることを確認します.
ファイル形式を変更
次のコマンドでファイルフォーマットを表示します.
:set ffまたは:set fileformat
次の情報が表示されます.
fileformat=dosまたはfileformat=unix
次のコマンドでファイルフォーマットを変更します.
:set ff=unixまたは:set fileformat=unix
:wq(ディスクアウト)
最後にファイル#sh>./filename
これは異なるシステムの符号化フォーマットによるものである:windowsシステムで編集された.sh .pyファイルに非表示文字がある場合がありますので、Linuxシステムで実行すると上記の異常情報が表示されます.一般的にwindows行の末尾とlinux行の末尾の識別が異なるためです.
解決:
1)Windowsで変換:
UltraEditやEditPlusなどのエディタを使用して、スクリプトをエンコードしてからLinuxで実行します.変換方式は以下の通り(UltraEdit):File-->Conversions->DOS->UNIXでよい.
2)linuxで直接置換:
sed-i's/^M//g'filename(注意^Mはlinuxで^Mを押すと折り返し改行符、入力方法はCTRL+vを押してvを放してmを押す)
3)Linuxで変換することもできます.
まず、ファイルに実行可能な権限があることを確認します.
#sh>chmod a+x filename
ファイル形式を変更
#sh>vi filename
次のコマンドでファイルフォーマットを表示します.
:set ffまたは:set fileformat
次の情報が表示されます.
fileformat=dosまたはfileformat=unix
次のコマンドでファイルフォーマットを変更します.
:set ff=unixまたは:set fileformat=unix
:wq(ディスクアウト)
最後にファイル#sh>./filename