Résoudre l’erreur « Mauvais interpréteur:Aucun fichier.. » avec dos2unix
I. Présentation
A l'exécution d'un script shell sous Linux, il se peut que vous obteniez le message suivant : "-bash: ./script.sh : /bin/sh^M : Mauvais interpréteur : Aucun fichier ou dossier de ce type".
Vous allez surement vérifier les droits d'exécution sur le fichier, vous verrez qu'ils sont corrects.
En fait, ce message apparaît lorsque le script a été fait depuis une machine sous Windows. Le formatage du texte sera alors changé et cela empêchera son exécution.
Pour pallier à ce problème, une application existe : dos2unix. Sinon, codez directement depuis une machine Linux.
II. Procédure avec dos2unix
Pour installer dos2unix sur votre machine, mettez à jour la liste de vos paquets puis téléchargez et installez le paquet dos2unix :
apt-get update apt-get install dos2unix
Une fois l'installation terminée, utilisez dos2unix de cette façon :
dos2unix <script-sh-a-corriger>
Exemple avec un script nommé "MonScript.sh" :
dos2unix MonScript.sh
Vous obtiendrez alors un joli message pour vous avertir de la conversion du script au format Unix.
Vous pouvez exécuter à nouveau votre script, cette fois-ci sans erreur. Cependant, si l'erreur persiste, vérifiez votre script il contient surement des erreurs.
Hello,
J’ai eu le problème hier avec un stagiaire, moi je recommande Notepad++ et après on va jouer dans Encodage.
Tcho !
Merci beaucoup ! Un post clair, court et efficace, cela m’a fait gagner beaucoup de temps.