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