为什么我会收到“exec 格式”错误?

为什么我会收到“exec 格式”错误?

我在 Debian 8 上的 systemd 服务中收到“exec format error”。

这是我的服务单位档案。

[Unit]
Description=testele
After=sinusbot9.service

[Service]
ExecStart=/home/runboti.sh

[Install]
WantedBy=default.target

这是 /home/runboti.sh 脚本。

rm -fr /tmp/.sinusbot.lock
rm -fr /tmp/.X11-unix/X40
rm -fr /tmp/.sinusbot.lock
rm -fr /tmp/.X11-unix/X40
echo Files removed and starting bots sinusbot-sinusbot9
service sinusbot start
echo service sinusbot  started
rm -fr /tmp/.sinusbot.lock
rm -fr /tmp/.X11-unix/X40
sleep 5
service sinusbot1 start
echo service sinusbot1 started
rm -fr /tmp/.sinusbot.lock
rm -fr /tmp/.X11-unix/X40
sleep 5
service sinusbot2 start
echo service sinusbot1 started
rm -fr /tmp/.sinusbot.lock
rm -fr /tmp/.X11-unix/X40
sleep 5
service sinusbot3 start
echo service sinusbot3 started
rm -fr /tmp/.sinusbot.lock
rm -fr /tmp/.X11-unix/X40
sleep 5
service sinusbot5 start
echo service sinusbot4 started
rm -fr /tmp/.sinusbot.lock
rm -fr /tmp/.X11-unix/X40
sleep 5
service sinusbot6 start
echo service sinusbot6 started
rm -fr /tmp/.sinusbot.lock
rm -fr /tmp/.X11-unix/X40
sleep 5
service sinusbot7 start
echo service sinusbot7 started
rm -fr /tmp/.sinusbot.lock
sleep 5
service sinusbot8 start
echo service sinusbot8 started
rm -fr /tmp/.sinusbot.lock
rm -fr /tmp/.X11-unix/X40
sleep 5
service sinusbot9 start
echo service sinusbot9 started
rm -fr /tmp/.sinusbot.lock
rm -fr /tmp/.X11-unix/X40
echo All bots is started.

我尝试过chmod 777chmod 664、 和各种其他排列,但均无济于事。我也没有通过搜索 WWW 找到答案。

systemd 抱怨什么以及如何解决它?

答案1

您需要在脚本的开头添加一个 shebang,以便内核知道如何运行它:

#!/bin/sh
rm -fr /tmp/.sinusbot.lock

相关内容