新しいファイルに標準出力をリダイレクトすると、cygwinの中にファイル名の末尾に奇妙な文字を追加します
質問
私はCygwinのシェルスクリプトとのトラブルを抱えています。問題を引き起こしている特定のコマンドはこれです:
sed -e "s/6.0.[0123456789]\{1,\}/6.0.${REV}/g" "path/to/file/config.xml" > "path/to/file/config.xml.tmp"
問題は、ファイルが最後に変な文字を使用して作成されていることがあるので、代わりにconfig.xml.tmp命名されるので、それが「config.xml.tmp」と名付けられています。コマンドプロンプトの「ls」コマンドからと窓から、それはのように見える「config.xml.tmp?」
私はちょうどシェル、正しく指定されたファイルからのsedコマンドを実行すると、スクリプトは、Linuxで正常に動作している場合。
間違っている可能性がどのような任意のアイデア?ありがとう!
解決
私の推測では、あなたのスクリプトファイルは、UNIXの行末を持っていないということです。窓の行末で\r
文字は、あなたのファイル名の末尾に付加なっているものです。あなたはそれが問題だかどうかを確認するためにod
またはhexdump
に確認することができます。
所属していません StackOverflow