¿Es posible que el script esté utilizando dos líneas nuevas?
Intente ejecutar dos2unix en él.
La primera línea, #!/bin/bash
, le dice a Linux dónde encontrar el intérprete. El script también debe ser ejecutable con chmod +x script.sh
, lo que parece que hiciste.
Es muy probable que haya creado este archivo con un editor de Windows, que colocará un <cr><lf>
al final de cada línea. Este es el estándar bajo dos / windows. OS X colocará un <cr>
al final de cada línea. Sin embargo, bajo Unix/Linux, el estándar es simplemente poner un <lf>
al final de la línea.
Linux ahora está buscando un archivo llamado /bin/bash<cr>
para interpretar el archivo, donde <cr>
es un carácter de retorno de carro, que es un carácter de archivo válido en Linux. Tal archivo no existe. De ahí el error.
<cr>
extra . Una herramienta que suele funcionar cuando se edita el archivo en Windows es dos2unix
.