I'm running a few repetitive tasks and I think will be good to create a small bash script to perform all them in just one command: run the bash script. This are the tasks I need to run:
# stop HTTPD, clear logs, start HTTPD back
service httpd stop
cd /var/log/httpd/
rm -r *
service httpd start
# clear PHP error logs
truncate /var/log/php/php_errors.log --size 0
# clear MySQL error, query and slow logs
truncate /var/log/mysql/mysql_error.log --size 0
truncate /var/log/mysql/mysql_query.log --size 0
truncate /var/log/mysql/mysql_slow.log --size 0
So this is how I am doing:
#! /bin/bash
# stop HTTPD, clear logs, start HTTPD back
service httpd stop
cd /var/log/httpd/
rm -r *
service httpd start
# clear PHP error logs
truncate /var/log/php/php_errors.log --size 0
# clear MySQL error, query and slow logs
truncate /var/log/mysql/mysql_error.log --size 0
truncate /var/log/mysql/mysql_query.log --size 0
truncate /var/log/mysql/mysql_slow.log --size 0
But I am getting this error all the time and I don't know what I am doing wrong:
bash: ./cleanup.sh: /bin/bash^M: bad interpreter: No such file or directory
What I am doing wrong and/or missing?
^Mproblem pointed in the answer, delete space after!in shebang.