2017-06-17 10 views
4

Windows 7にCygwin x64をインストールしました。デフォルトは変更されていません。私はCygwinが何年も幸せに働いていた別のPCから家庭環境をコピーしました。今回はロギング(bash)時に、無限のエラーストリームが発生しますが、これを次の問題に絞り込んでいます。この非常に小さなスクリプトは、ソースとは対照的に正常に呼び出されたときの動作が異なります。スクリプトのソース時にCygwinのbashスクリプトが間違っています

​​

出力は通常、呼び出された:スクリプトの

test 
test 
test 
test 
test 
test 

出力調達:サブシェルは明らかに私のインストールに壊れているように、コード内の

test 
test 
test 
tt 
test 
tt 

パイプを実行すべき。

明らかなものがありませんか?突然すべてをもう一度OKにしてしまうことに気づいていない魔法の設定がありますか?

+3

あなたは 'bash'のどのバージョンを使用していますか?私は結果を再現することはできません。ソーシング時でも、各行に対して完全な 'test'出力が得られます。 't.sh'に保存して'。/ t.sh'や 'source t.sh'を実行すると、どちらも私のために働きます。 –

+0

パイプでのバッファリングに関連するものが見つかりました。 https://unix.stackexchange.com/questions/25372/turn-off-buffering-in-pipe おそらく関連していますか? –

+1

あなたのログインシェルは 'bash'ですか?スクリプトのソースは、それが実行されているのと同じシェルで実行されるので、それが別のシェルであれば、奇妙な動作を説明するかもしれません。 –

答えて

0

最後に、それは間違いなくインストールの何かであり、私はこれ以上検討するつもりはありません。私は64ビット版ではなくCygwinの32ビット版をインストールしました。スクリプトは現在、予想通りに動作します。問題は解決されなかったが、回避された。

誰もが見てくれてありがとう!

関連する問題