Windows,Mac OS,そしてLinuxなどUNIX系OSでは,標準の改行コードが異なっているため,しばしば問題が起きる場合があります.改行とは行の区切りを表すものです.プログラミング言語にとって行の区切りは大切ですから,改行コードが違っているとうまく動作しません.
WindowsのCygwinとLinuxの両方を使っている方なら,bashのスクリプトを実行して
: bad interpreter: そのようなファイルやディレクトリはありません: /bin/bash
のようなエラーが出てしまう経験もあるのではないでしょうか.Windowsの標準改行コードは CR+LF で,Linuxでは LF です.余分な CR を取り除くと解決します.