Você precisa executar dos2unix
no seu arquivo, que provavelmente foi copiado para a sua distribuição Linux com as terminações dos arquivos do Windows . O caractere ^M
, também conhecido como o caractere retorno de carro , faz com que sua distribuição Linux ache que precisa procurar um comando bash^M
, em vez de bash
.
Para ver realmente os caracteres ^M
, você pode abrir seu arquivo com cat -A
:
$ cat -A file
# --- comment: expected output below ---
#! /bin/bash^M
# stop HTTPD, clear logs, start HTTPD back^M
service httpd stop^M
cd /var/log/httpd/^M
Caso você não tenha o dos2unix
instalado, você também pode tentar substituir usando o comando tr
(conforme explicado em aqui ):
tr -d '\r' < inputfile > outputfile