If you are trying to execute a bash .sh script on Linux or Unix environment like Ubuntu or macOS and you get the error "/bin/bash^M: bad interpreter: No such file or directory" the reason is that you have Ctrl+M characters in your file, most likely its because you wrote the file on a Windows text editor having Windows EOL encoding format (\r).
Fix/Solution:
There are multiple ways in which this issue can be fixed, let's take a look at a few of them.
Solution 1: Using sed command:sed command is a stream editor for filtering and transforming text, so you can read all \r (ctrlM) characters and remove them.
# sed -ie 's/\r$//' your-script-filename.sh
or,
sed -ie 's/^M$//' your-script-filename.sh
Solution 2: Using Text Editor like Notepad++/Sublime Text/Edit Plus:
You can make use of Text Editors like Notepad++ to change the End Of Line Encoding (EOL),
Notepad++- Open the file in Notepad++,
- Go to Menu: Edit,
- Now Look for option, EOL Conversion,
- And choose UNIX/OSX Format
- How to Assign Bash Command to Variable
- How to Kill a port using bash terminal command?
- Bash For Loop Example
- bash: netstat: command not found
- Bash getopts Command Example
- How to fix bash ping command not found error
- [Fix] bash: script.sh: /bin/bash^M: bad interpreter: No such file or directory
- [fix] bash: ssh: command not found
- Fix bash: script.sh: Permission denied Error
- bash: ls command to see list files in current directory all subdirectories
- How to see Created Accessed Modified and Changed dates of a file using bash terminal command
- How to use Autocomplete and Autosuggestion in Shell Commands
- Bash Hello World! Script Tutorial
- Install Bash Completion on macOS
- bash get year 2021 calendar
- How to create new user account in Windows bash
- Bash command to wait for seconds
- Know Bash shell version command
- How to start or open a new bourne-again shell (bash) session on Windows using Command Line CMD
- How to check your IP using bash for Windows?
- Bash Script to prefix files with sequential numbers in a directory
- How to Compare Strings in Bash
- Command to Sort File In Reverse Order [Unix/Linux/macOS]
- How to know the current shell you are logged in?
- List all Username and User ID using Bash Command
- Error: Safari quit unexpectedly. Problem Report for Safari - MacOS
- Run IntelliJ Java main method without Gradle build - Gradle
- Android Constant and Resource Type Mismatches Lint - Android
- java.lang.ClassNotFoundException android.support.v7.widget.Toolbar [Fix] - Android
- Convert Collection List to Set using Java 8 Stream API - Java
- How to turn off Dark theme in Excel for Mac - Microsoft
- sudo is not recognized as an internal or external command - Windows
- Calculate Area of Parallelogram - C-Program