Script fails with '\r': command not found error message
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
When running a script in Bamboo it fails and shows "'\r': command not found" and other syntax errors.
Environment
Bash Script created/edited on Windows OS.
Diagnosis
Looking at the logs of a failed build, the following errors can be seen:
'\r': command not found
syntax error near `]]
syntax error in conditional expression
Illegal characters found in URL
Cause
The issue is caused when the script file has a line ending formatting from Windows which is not recognized by bash causing syntax errors. This can happen if the script file being used was, at some point, edited in a Windows machine or had its encoding changed.
Solution
To resolve this issue you can use Dos2Unix or a similar tool to convert the script file encoding from Windows to Unix encoding. For example:
dos2unix script.sh