Aunque no es directamente pertinente a este hilo en particular; si un archivo proviene de un sistema Windows, puede haber un CR/LF al final de la línea. Esto afectaría a todas las líneas del archivo, incluida la línea de ejecución inicial, y no sería visible si está viendo el archivo.
$ ./test.sh
-bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory
Para ver esto, podría cat -A el archivo:$ cat -A ./test.sh#!/bin/bash^M$echo "me"^M$
Para eliminar, use dos2unix.
Eso puede suceder si ha montado el sistema de archivos con la opción "noexec". Deberías eliminarlo.
El script debe ser ejecutable. Usa esto:
chmod +x <script-name>
Prueba
ls -la
para ver los derechos reales y la propiedad del archivo. Para ver si el comando chmod realmente funcionó. Es posible que desee cambiar la propiedad junto con la modificación de la verificación del archivo:http://www.tuxfiles.org/linuxhelp/fileowner.html