shell実行時に「コマンドが見つかりません」と表示されたとき
WindowsとLinuxでは改行コードが違います。
WindowsではCR LFとなりますが、LinuxではLFのみです。
これが原因で、Windows上で作成したファイルをLinuxに転送して
動作確認する際にタイトルのような「コマンドが見つかりません」といった
コメントが表示されてしまいます。
任意のファイルの改行コードがLFになっているか CR LFになっているかは以下のように確認できます。
(xxx.shが対象ファイルとした場合)
cat -A xxx.sh
この表示結果で、^Mが表示されているのがCRで、
$と表示されているのがLFです。
つまり^Mが表示されるとNGということですね。
(od -c xxx.shでも確認できるけど見にくいかも。
この場合 CRは\r、LFは \n となります。)
この対策としてLinux上でコマンドを使っていろいろやっても良い
かと思いますが、私のようにMobaXtermという愛すべきツールを
使って作業している場合は画面上部の「Format」のタブを
クリックして「UNIX」を選択すると簡単に改行コード
をLFのみに変更できます。
Linux上でコマンドをつかって処理したい場合は
tr -d “\r” <削除対照ファイルパス> 出力ファイルパス
で、できるっぽいけど、「削除対照ファイルパス」と「出力ファイルパス」を
同じにして上書きしてみたらファイル内容がからっぽになってしまったので注意!!