cygwin のアップデート... 失敗
cygwin 1.5.22-1 にアップデートした後, ログイン・シェルを起動すると, 下記のようなエラー・メッセージが出るようになってしまいました:
: command not found (...) ': not a valid identifier (...) bash: /etc/profile: line 63: syntax error near unexpected token `done' 'ash: /etc/profile: line 63: ` done <<- EOF
ネットで調べたところ, 「インストール時に Default Text File Type: "Unix/binary" を選択したにもかかわらず, /etc/profile の改行コードが DOS 形式 (CR+LF) になっていると, このようなエラー・メッセージが発生するらしい」ということが分かりました.
いままで気づかなかったのですが, アップデート前の cygwin では, DOS 形式の改行コードを使う設定になっていたようです.
/etc/profile 等はアップデート前のファイルがそのまま使われるので, アップデート後の cygwin のログイン・シェル (Unix形式) が /etc/profile (DOS形式) を正しく処理できないのでしょう.
試しに /etc/profile 内の改行コードを Unix 形式 (LF) に変換してみたところ, 確かに上記のエラーは出なくなりました. でも, 他のシステム設定ファイルにも同様の問題がありそうなので, cygwin をクリア・インストールしなおすことにしました.