Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting error ": command not found" when trying to run shell script

Tags:

bash

shell

unix

I have a script that I'm trying to run but I just get the error ": command not found" whenever I try to run it. Here's what I've tried to do to fix it:

  1. Made sure the hashbang is correct "#!/bin/bash"
  2. Run dos2unix on the file
  3. Run the script as scriptname.sh, ./scriptname.sh, and /bin/bash scriptname.sh
  4. chmod 755 scriptname.sh

I still am unable to run the script.

like image 837
Erik Avatar asked Mar 28 '26 05:03

Erik


1 Answers

This is caused by carriage returns. Here's the excerpt from the bash tag wiki:

  1. Check whether your script or data has DOS style end-of-line characters

    • Use cat -v yourfile or echo "$yourvariable" | cat -v .

      DOS carriage returns will show up as ^M after each line.

      If you find them, delete them using dos2unix (a.k.a. fromdos) or tr -d '\r'

Make sure to check all your data, and not just the script itself.

like image 51
that other guy Avatar answered Mar 29 '26 19:03

that other guy



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!