Bien que n'étant pas directement pertinent pour ce fil particulier; si un fichier provient d'un système Windows, il peut y avoir un CR/LF à la fin de la ligne. Cela affecterait toutes les lignes du fichier, y compris la ligne d'exécution initiale, et ne serait pas visible si vous visualisez le fichier.
$ ./test.sh
-bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory
Pour voir cela, vous pouvez cat -A le fichier :$ cat -A ./test.sh#!/bin/bash^M$echo "me"^M$
Pour supprimer, utilisez dos2unix.
Cela peut arriver si vous avez monté le système de fichiers avec l'option "noexec". Vous devriez le supprimer.
Le script doit être exécutable. Utilisez ceci :
chmod +x <script-name>
Essayez
ls -la
pour voir les droits réels et la propriété du fichier. Pour voir si la commande chmod a réellement fonctionné. Vous voudrez peut-être changer le propriétaire avec le mod de vérification de fichier :http://www.tuxfiles.org/linuxhelp/fileowner.html