Le script pourrait-il utiliser des retours à la ligne Dos ?
Essayez d'exécuter dos2unix dessus.
La première ligne, #!/bin/bash , indique à Linux où trouver l'interpréteur. Le script doit également être exécutable avec chmod +x script.sh , ce que vous avez apparemment fait.
Il est fort probable que vous ayez créé ce fichier avec un éditeur Windows, qui placera un <cr><lf> à la fin de chaque ligne. C'est le standard sous dos/windows. OS X placera un <cr> à la fin de chaque ligne. Cependant, sous Unix/Linux, la norme est de simplement mettre un <lf> au bout de la ligne.
Linux recherche maintenant un fichier nommé /bin/bash<cr> pour interpréter le fichier, où <cr> est un caractère de retour chariot, qui est un caractère de fichier valide sous Linux. Un tel fichier n'existe pas. D'où l'erreur.
Solution : Modifiez le fichier avec un éditeur sous Linux et débarrassez-vous du <cr> supplémentaire . Un outil qui fonctionne généralement lorsque le fichier est modifié sous Windows est dos2unix .