Linux en español
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.

HIT Closer

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

Dale una nueva vida a tu portátil con estos SSD por menos de 20€

Linux en Español

¿Qué es HTTP/2? Beneficios de su uso

Diego García Cuesta

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

Linux en Español

Números de puertos de red

Linux en Español

Ubuntu: qué versión instalar y cuándo actualizar

Linux en Español

10 Comandos básicos de linux

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