Les utilitaires de ligne de commande dans Windows ajoutent CRLF comme nouveau symbole de ligne dans une sortie. Est-ce que quelqu'un sait comment éliminer CR à partir de backticks lors de l'exécution de l'utilitaire de ligne de commande Windows?Comment éliminer les CR à partir des guillemets dans cygwin
Par exemple:
echo "Windows"
TEST=`cmd /c "echo Win"`
echo " ${TEST} " | od -t x1
echo "CYGWIN"
TEST=`echo Win`
echo " ${TEST} " | od -t x1
Sortie:
Windows
0000000 20 57 69 6e 0d 20 0a
0000007
CYGWIN
0000000 20 57 69 6e 20 0a
0000006
Comme vous pouvez le voir, les apostrophes inverses d'écho à partir de Windows sorties symbole supplémentaire CR
Il semble que Cygwin doive supprimer les symboles CRLF des résultats de backtick, mais supprimer uniquement le symbole LF. Il obtient des résultats différents sur Windows et Linux. Résultat sur Windows a un symbole CR supplémentaire et par exemple la comparaison de chaînes, qui fonctionne sous Linux, échoue dans Windows. Donc, je m'attendrais à ce qu'il y ait une option dans Cygwin qui pourrait le changer ou c'est un bug dans Cygwin. – Nik