miércoles, 19 de mayo de 2010

/bin/sh^M: bad interpreter: No such file or directory

Si en algún momento les salió este error, y pasaron horas intentando ver que es, no son los únicos, a mi me paso. Entonces les cuento cual es el error.

El problema es cuando pasas algún .sh que utilices (por lo menos en mi caso), en algún momento lo pasaron por Windows, entonces algún símbolo extraño le puso.

Entonces para solucionar el problema hay que editar el .sh directamente desde Linux y crearlo directamente desde ahí, si el código es muy largo lo mejor es abrir un putty, en Windows editar el archivo con block de notas o el editor que quieran, copiar todo el código, y en putty, hacemos vi miscrip.sh, luego i (insertar), y luego botón derecho del mouse, esto pega todo lo copiado, y :wq, y listo, arreglado el problema.

13 comentarios:

Anónimo dijo...

Gracias por el comentario, tuve el mismo problema y ya lo resolvi! :)

Anónimo dijo...

me has salvado el proyecto, gracias

Enemigo dijo...

gracias, muy util

Unknown dijo...

Este truquito es menos engorroso y tambien funciona :)

dos2unix parser.sh

Juan Carlos dijo...

Ni te puedes hacer una idea de lo que estuve buscando una solución hasta que leí esto.

Muchas gracias!

Anónimo dijo...

Joya, me tenía boludo ese error!! gracias

Daniel Lugo dijo...

a mi me sirve esta lienea en solaris podrian probarla en linux

perl -pi -e'tr/\015//d' nombre_arch.txt

saludos

thewolf dijo...

Usar sed -i 's/\r//' filename
Ayuda tambien!!

Rauru Avila dijo...

you can run: dos2unix script.sh script.sh

Yoni.Sona dijo...

Tambien pueden abrir el archivo con el vi y setean el tipo de archivo a unix

:set ff=unix

Y despues guardan el archivo
:x

Felipe Quintero dijo...

Gracias por el apunte, me paso lo mismo ;)

Unknown dijo...

se resuelve así:

sed -i -e 's/\r$//' nombre_archivo.sh

Listo.

Unknown dijo...

Gracias