Bad Interpreter
Ayuda

Solución error: /bin/bash^M: bad interpreter

1 minuto de lectura

En el caso de ejecutar un script y recibir el error “bad interpreter” deberemos acceder a este para revisar el shebang.

El chebang es la línea del fichero que cuenta con una almohadilla y una admiración (#!) que indica al sistema que interprete debe utiliza para instrucciones como las que pongo a continuación.

En el caso de tener:

#!/bin/bash

Las instrucciones del script serán interpretadas por el bash.

Si aparece:

#!/usr/bin/perl

El sistema escogerá /usr/bin/perl como interprete.

Además, podemos usar el shebang para pasar opciones al intérprete, por ejemplo con:

#!/usr/bin/perl -w

En este caso habilitaremos los warnings del intérprete de perl.

Sintomas

Cuando intentamos ejecutar un script en nuestro terminal recibimos el siguiente error:

./nombrescript.sh
-bash: ./parser.sh: /bin/bash^M: bad interpreter: No such file or directory

“/bin/bash^M”, nos indica que tenemos los intros de DOS (Windows) posiblemente por haber sido editado con dicho sistema operativo.

Solución

Para corregirlo simplemente deberemos usar la utilidad dos2unix de la siguiente forma:

dos2unix nombrescript.sh
dos2unix: converting file parser.sh to UNIX format ...

Si no tenemos instalada la herramienta podemos instalarla ejecutando el siguiente comando:

apt-get install dos2unix

A continuación si ejecutamos el script funcionara de forma correcta:

./nombrescript.sh
FUNCIONA
3.7/5 - (12 votos)

Entradas relaccionadas

HTTP/3: qué es, de dónde viene, y qué es lo que cambia

Linux en Español

¿Donde guardar las copias de seguridad de mis datos?

Diego García Cuesta

Diferencia entre FAT32, NTFS y exFAT

Diego García Cuesta

Formación: Linux para principiantes

Diego García Cuesta

5 sitios para verificar rápidamente si los enlaces son seguros

Linux en Español

Cómo cambiar el document root directory en Plesk

Diego García Cuesta

Este sitio web utiliza cookies para mejorar su experiencia. Asumiremos que está de acuerdo con esto, pero puede optar por no participar si lo desea. Aceptar Leer más

Política de privacidad y cookies