Étiquette : Linux

/bin/bash^M: bad interpreter: Aucun fichier ou répertoire de ce type

Ah c'est pas beau comme titre hein ?? !! En fait j'écris ce bout d'article parce que je viens d'avoir le problème, donc je partage avec vous la solution :

J'avais tout bien fait mon petit script en bash (sur une machine virtuelle) et par mégarde (ou imbécillité, au choix ^^) j'ai supprimé mon beau script et vidé la corbeille (bé oui forcement !).Mais heureusement,  j'avais copié le script sur ma machine Windows avant. J'ai donc simplement importé mon script sur ma VM (une CentOS), je l'ai lancé comme si de rien n'etait, et hop, une belle erreur:

 

erreur-bash

/bin/bash^M: bad interpreter: Aucun fichier ou répertoire de ce type

Alors que je sais très bien que mon script fonctionne ! Donc je fouille un peu le net, des personnes donnent des solutions à base de sed et autres commandes pour remplacer ce "^M" qui sort d'on ne sait où, mais la commande magique c'est :

dos2unix nom_du_fichier

Et oui, le script passé sur la machine Window a prit le format Dos alors que sur ma CentOs, c'est du format Unix, Merci l'encodage !!

En tout cas, j'espère que cette astuce vous servira.