Cygwin32
で次のコマンド文字列が正常に機能していましたが、Cygwin64
で動作しなくなりました。誰にも手掛かりがあるのですか?すべてのパッケージが期待どおりにインストールされます。Cygwin64 - コマンドが正常に動作しない
$svn status | sort | cut -c2- | xargs cksum
: No such file or directory
私は、Windows 7のx64
Cygwin32
で次のコマンド文字列が正常に機能していましたが、Cygwin64
で動作しなくなりました。誰にも手掛かりがあるのですか?すべてのパッケージが期待どおりにインストールされます。Cygwin64 - コマンドが正常に動作しない
$svn status | sort | cut -c2- | xargs cksum
: No such file or directory
私は、Windows 7のx64
エラーのそのようなものは、通常、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に書き込むのではなく、入力ファイルを置き換えます。
'svn status |の出力は何ですか?ソート '? 'svn status |並べ替え|カット-c2- '? –
出力は、コマンドが実行されるCWD内のファイルのリストです。 –
私はあなたが私のポイントを見逃していると思います。出力 'svn status |並べ替え| cut -c2-'は、空白行、': '、またはその他の奇妙なものを含んでいますか?エラーで判断すると、答えはイエスです。だからこそ私は出力を印刷して欲しかったのです。なぜならそれがあなたのバグの原因であると確信しています。この情報がなければ、私は本当に助けにならないのです。 –