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:

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

    ResponderEliminar
  2. me has salvado el proyecto, gracias

    ResponderEliminar
  3. Este truquito es menos engorroso y tambien funciona :)

    dos2unix parser.sh

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

    Muchas gracias!

    ResponderEliminar
  5. Joya, me tenía boludo ese error!! gracias

    ResponderEliminar
  6. a mi me sirve esta lienea en solaris podrian probarla en linux

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

    saludos

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

    ResponderEliminar
  8. you can run: dos2unix script.sh script.sh

    ResponderEliminar
  9. 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

    ResponderEliminar
  10. Gracias por el apunte, me paso lo mismo ;)

    ResponderEliminar
  11. se resuelve así:

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

    Listo.

    ResponderEliminar