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
Ahora ya no deberías tener problemas para ejecutar el script.
Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto
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.
Introducción Laravel utiliza Composer para gestionar todas sus dependencias. Si acabamos de clonar un repositorio o estamos comenzando un proyecto, puede que salga un error que dice algo así: Warning: require(ruta\proyecto\public/../vendor/autoload.php failed to open stream: No such file or directory in ruta\proyecto. Y abajo algo así: Fatal error: require(): Failed opening…
En el post de hoy te mostraré cómo ejecutar un comando de Linux desde el lenguaje de programación Python. Es decir, invocar un comando de la terminal de Linux pero desde Python. Algo así como ejecutar o iniciar un programa desde Python, llamando a ejecutables o binarios de Linux. El…
Hoy te mostraré cómo ejecutar un programa, comando o script al iniciar el sistema de Raspberry Pi, específicamente Raspbian. Necesitaba ejecutar un script sh que a su vez invocaba a un script de Python y luego invocaba un binario propio del sistema. Después de probar tantas opciones te vengo a…