スクリプトは Dos 改行を使用していませんか?
その上で dos2unix を実行してみてください。
最初の行、#!/bin/bash
、インタプリタを見つける場所を Linux に指示します。スクリプトは chmod +x script.sh
でも実行可能である必要があります
<cr><lf>
を配置する Windows エディタでこのファイルを作成した可能性が高いです。 各行の終わりに。これは dos/windows での標準です。 OS X は <cr>
を配置します 各行の終わりに。ただし、Unix / Linux では、<lf>
をそのまま置くのが標準です。
Linux は /bin/bash<cr>
というファイルを探しています。 ファイルを解釈するには、<cr>
Linux で有効なファイル文字であるキャリッジ リターン文字です。そのようなファイルは存在しません。したがって、エラーです。
解決策: Linux のエディターでファイルを編集し、余分な <cr>
を取り除きます . Windows でファイルを編集するときに通常機能するツールの 1 つは dos2unix
です。 .