2016-05-16 12 views
-2

Cygwin32で次のコマンド文字列が正常に機能していましたが、Cygwin64で動作しなくなりました。誰にも手掛かりがあるのですか?すべてのパッケージが期待どおりにインストールされます。Cygwin64 - コマンドが正常に動作しない

$svn status | sort | cut -c2- | xargs cksum 

: No such file or directory 

私は、Windows 7のx64

+0

'svn status |の出力は何ですか?ソート '? 'svn status |並べ替え|カット-c2- '? –

+0

出力は、コマンドが実行されるCWD内のファイルのリストです。 –

+1

私はあなたが私のポイントを見逃していると思います。出力 'svn status |並べ替え| cut -c2-'は、空白行、': '、またはその他の奇妙なものを含んでいますか?エラーで判断すると、答えはイエスです。だからこそ私は出力を印刷して欲しかったのです。なぜならそれがあなたのバグの原因であると確信しています。この情報がなければ、私は本当に助けにならないのです。 –

答えて

0
上で実行しています

エラーのそのようなものは、通常、Windowsスタイルの行末を持っているスクリプトによって引き起こされます。

Unixでは、またCygwinでは、行末が1つのLF文字で示されます。 Windowsでは、CR LFペアで示されます。 CR(キャリッジリターン)文字は、シェルによって行末マーカーとして認識されません。それは単なる別のキャラクターです。

だからあなたのスクリプトのような行がある場合:

some_command 

をシェルがCRは復帰文字を表し

some_commandCR 

としてそれを見ることができます。まさにではありません

: command not found 

:としてキャリッジリターンを印刷するバックラインの先頭にカーソルを送信するため、表示されます、

some_commandCR: command not found 

:それはのようなエラーメッセージを出力しますエラーメッセージが表示されますが、根本的な原因は同じです。

dos2unixコマンドを使用して行末を修正することができます。最初にmanページを必ず読んでください。ほとんどのUnixコマンドとは異なり、フィルタ処理された出力をstdoutに書き込むのではなく、入力ファイルを置き換えます。

関連する問題