Starting service on Linux throws a No such file or directory error

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. 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

Problem

After creating an init script for an application, running the service results in the following error:

1 env: /etc/init.d/your_init_script: No such file or directory

However, despite this error the init script can be seen in the correct location

(Auto-migrated image: description temporarily unavailable)

Diagnosis

Environment

  • This issue may occurs on *nix systems

Diagnostic Steps

  • Run the following command: cat -v /etc/init.d/your_init_script

  • Examine the output, looking for ^M at the end of each line. These are carriage return characters.

Cause

Carriage return characters have been inserted into your init script. Shell scripts may not be read correctly when unexpected carriage returns are encountered. Typically this might occur when the file was created via a Windows system, text editor, or terminal, as Windows uses carriage return + line feed characters for line endings, whereas *nix systems only use line feed characters

Solution

Resolution

Remove the carriage return characters from the init script. This can be done with a sed one-liner:

1 sed -i -e 's/\r//g' /etc/init.d/your_init_script

This will remove the carriage return characters, after which you can start the service successfully

Updated on April 17, 2025

Still need help?

The Atlassian Community is here for you.