dos2unix : l’utilitaire pour reformater les fichiers textes générés sous Windows

Utilitaire en ligne de commande pour reformater les fins de ligne des fichiers de scripts générés sous Windows (CR + LF => LF)

, par Cyrille

Lors de l’exécution d’un fichier de commande sh sous linux si vous obtenez une erreur du type :

c’est que votre fichier sh contient un caractère "retour ligne" (= CR, le ^M de l’erreur) en fin de la ligne du shebang [1] et qui empêche sa reconnaissance par l’interpréteur sh.

A priori cette erreur est généré par l’éditeur de texte avec lequel a été créé le fichier sh, éditeur qui a formaté les retours de ligne "à la mode Windows" (CR + LF) alors que l’interpréteur de commande Linux attend un retour ligne "à la mode Unix" (LF uniquement). De ce fait la première ligne du fichier vu par l’interpréteur de commande est :

alors qu’il attend :

Pour résoudre ce problème, installez l’utilitaire dos2unix (http://waterlan.home.xs4all.nl/dos2unix.html), par ex si vous êtes sous Debian avec :

et exécutez-le sur le fichier sh à corriger :

Notes

[1Le shebang, représenté par # !, est un en-tête d’un fichier texte qui indique au système d’exploitation que ce fichier n’est pas un fichier binaire mais un script

Licence Creative Commons Cet article est mise à disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les Mêmes Conditions 4.0 International.