Are you trying to fix the Nagios error, Bad interpreter: No such file or directory ?
This guide is for you.
Bad interpreter: No such file or directory error in Nagios happens in the process of creating scripts in the Windows environment and then porting them over to run on a Unix environment. This happens as the file is in a "Windows" format instead of a "Unix" format.
Since this issue occurs while creating scripts in Windows environment and then porting them over to run on a Unix environment.
Here the file is in a "Windows" format instead of a "Unix" format.
So in order to resolve this problem, we shall convert the file to a Unix format.
For that, we execute the following steps from an SSH session as a user with root privileges.
First, we install the required packages.
$ yum install -y dos2unix
$ apt-get install -y dos2unix
Next, we convert the file to a Unix format:
$ dos2unix /usr/local/nagios/libexec/check_apc_pdu_load.sh
This will provide the below output:
dos2unix: converting file /usr/local/nagios/libexec/check_apc_pdu_load.sh to UNIX format …
After completing these steps, the plugin should execute as intended.
Also, we can rewrite the script in a Unix environment using any text editor and test.
If we want to write a file on Windows and then port over, we make sure the editor is set to create files in UNIX format.
In notepad++ in the bottom right of the screen, it tells us the document format.
By default, it will say Dos\Windows.
In order to change it, we follow the below steps:
settings >> preferences >> new document/default directory tab >> select the format as unix and close >> create a new document
We can remove the spurious CR characters.
We can do it with the following command:
sed -i -e ‘s/\r$//’ NAME-OF-FILE.sh