Solución a bad interpreter No such file or directory

Introducción

Ayer estaba haciendo un script sh para Linux. Para ello utilicé Sublime Text 3 pero cuál fue mi sorpresa al ver que salía un error que dice /bin/bash^M bad interpreter: No such file or directory. Es por ello que hoy veremos la solución a bad interpreter no such file or directory

Solución a bad interpreter No such file or directory

Este post explica la solución a cuando editas el archivo desde Windows y se ponen los caracteres de terminación de línea del mismo.

Sin embargo, puede que realmente no exista el intérprete. Para ello verifica que el intérprete que pones (por ejemplo /bin/bash o /bin/sh) exista; puedes comprobarlo con el comando:

whereis sh

O con bash, como sea. Si no marca ningún error entonces sigue leyendo.

Terminación de línea de Windows

Otra vez Windows viene a no ser compatible con Linux. En este caso es por el salto de línea, ya que creo que Windows utiliza \r\n y Linux sólo \n

Para solucionarlo sin Sublime Text puedes ejecutar este comando en Linux:

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

En caso de que sí uses Sublime Text o lo tengas a la mano, abre el script. Luego ve al menú View > Line Endings > y selecciona Unix.

Finalmente guarda el archivo con Ctrl + S

Remover saltos de línea con Windows
Remover saltos de línea con Windows

Ahora ya no deberías tener problemas para ejecutar el script.

Referencias

Lo expuesto aquí fue consultado en:

https://askubuntu.com/questions/304999/not-able-to-execute-a-sh-file-bin-bashm-bad-interpreter

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario