Error: /bin/bash^M: bad interpreter

Verifiquemos en primer lugar que tengamos correctamente escrito el shebang. (Es la primer línea de un script que comienza con numeral (#) seguido, sin espacios, por un signo de admiración (!) e indica al sistema qué intérprete deberá usar para leer las instrucciones que le preceden.

Si tenemos correctamente escrito el shebang (#!):

#!/bin/bash

O bien (en el caso que el intérprete de nuestro script deba ser Perl:

#!/usr/bin/perl

Y nos aparece el error del título:

/bin/bash^M: bad interpreter

¡A no desesperar!

Esto suele suceder cuando creamos o editamos desde Windows algún script de Linux.

Para poder volver a ejecutar el script sin problemas desde Linux, lo que tendremos que hacer es instalar la utilidad dos2unix en nuestra distro. Para eso seguimos los pasos de costumbre:

# Si estamos logueados como root:
#
#: apt-get update
#: apt-get install dos2unix

Si estamos logueados como otro usuario, para poder ejecutar comandos y servicios con privilegios de usuario root, tendremos que figurar en el archivo /etc/sudoers
Podemos editar dicho archivo, pero debemos hacerlo con prudencia y sólo habilitar aquellos servicios que no pongan en riesgo al sistema.
Ya escribiré algún tutorial más extenso sobre el archivo SUDOERS, (paciencia amigos, cuento con muy poco tiempo y debo dedicarme a mi trabajo…)

$: SUDO apt-get update
$: SUDO apt-get install dos2unix

Y luego ejecutar el siguiente comando:

$: dos2unix nombre_del_script_que_daba_error.sh

Luego de ese sencillo paso, nuestra alma volverá a su lugar de origen…

De nada!

Anuncios

Acerca de proferay

- Linux SysAdmin at: BLGNet SRL - HTML, CSS, PHP & MySQL Developer
Esta entrada fue publicada en Sin categoría. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s