Cygwinのバージョン(というよりbashのバージョン)を上げたら、シェルスクリプトの改行コードがLFでないと正しく実行できなくなってしまいました。CR/LF problems after upgradeを見ると、SHELLOPTSという環境変数にigncrという値を設定すればCRが無視されるようです。