仕事では、Cygwin をよく使用します。Windows の広大な砂漠に小さなオアシスを提供してくれるからです。必然的に、ビルド スクリプト (社内で作成したバッチ ファイル) や Subversion CLI バイナリ (Windows のものをインストールしています) など、Cygwin 以外のプログラムを bash シェルで実行することになります。99% の確率で、このセットアップを使用しても問題はありません。ただし、残りの 1% は奇妙な問題を引き起こします。
ビルド スクリプトと SVN の両方で、ほとんどの場合、Enter キーは正しく解釈されます。たとえば、データベース作成スクリプトを開始すると、サーバー名の入力を求められます。「localhost」と入力してEnterキーを押します。すべて順調。次に、エラーがあれば最後に到達し、 を使用して出力しmore
ます。押したキーが認識されませんmore
。私はそれからCtrl-Cをしなければなりません。
同様に、Subversion の更新を行う場合、通常はすべて問題ありません。ただし、対話型の競合解決が行われる場合は、通常、"theirs-full" の代わりに "tf" と入力して Enter キーを押しますが、何も起こりません。Ctrl-C を押して、強制マージで更新を再実行するか、Windows で TortoiseSVN を使用する必要があります。
Cygwin がランダムにエンター キーをプログラムに渡していないように見える理由は何ですか? Unix と Windows のスタイルの行末に関係があるのではないかと考えたので、それらの文字を手動で入力してみましたが、違いはないようです。ありがとう。
編集:これが再び私に起こり、何かに気づきました。パスワードの入力を求めたのはSVNでした。パスワードを入力すると、画面にエコーされ(悪い)、Enterキーを押しました...何もありません。Enter キーを数回押すと、カーソルが移動しますが、何も起こりません。Ctrl-C を押すと、bash に戻り、「bash: [パスワード]: コマンドが見つかりません」と表示され、Enter キーを押した回数と同じ数の新しいプロンプトが表示されます。何が起こったのかというと、入力が SVN に到達することはありませんでしたが、SVN が終了した後に何らかの形で bash によって読み取られました。誰かが何が起こっているのかを理解するのに役立つかもしれないと思いました.