Linux 服务未在引导debian中启动

Linux 服务未在引导debian中启动,linux,service,Linux,Service,我有一个启动脚本,但我得到一个退出状态2错误。但是,我在系统启动后运行脚本,它运行正常,没有任何问题。可能是什么 noname@debian:~$ cat /etc/systemd/system/arp_estatica.service [Unit] Description=Script service After=network.target network-online.target Wants=network-online.target [Service] ExecStart=/etc

我有一个启动脚本,但我得到一个退出状态2错误。但是,我在系统启动后运行脚本,它运行正常,没有任何问题。可能是什么

noname@debian:~$ cat /etc/systemd/system/arp_estatica.service 
[Unit]
Description=Script service
After=network.target network-online.target
Wants=network-online.target

[Service]
ExecStart=/etc/init.d/arp_estatica

[Install]
WantedBy=multi-user.target


noname@debian:~$ sudo systemctl status arp_estatica 
● arp_estatica.service - Script service
   Loaded: loaded (/etc/systemd/system/arp_estatica.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Tue 2019-12-31 03:48:25 CET; 8min ago
 Main PID: 710 (code=exited, status=2)

dic 31 03:48:25 debian systemd[1]: Started Script service.
dic 31 03:48:25 debian systemd[1]: arp_estatica.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
dic 31 03:48:25 debian systemd[1]: arp_estatica.service: Failed with result 'exit-code'.


noname@debian:~$ cat /etc/init.d/arp_estatica 
#!/bin/bash

### BEGIN INIT INFO
# Provides:          arp_estatica
# Required-Start:    $all
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:
# Short-Description: Entrada estatica para evitar mitm
### END INIT INFO

arp -s $(route -n | grep -e '^0.0.0.0' | awk '{print $2}' | sed -n '1p') $(arp -n | grep `route -n | grep -e '^0.0.0.0' | awk '{print $2}' | sed -n '1p'` | awk '{print $3}')
exit 0

执行命令时,/net/proc/arp似乎是空的。所以我一开始就用这个解决了

#!/bin/bash

### BEGIN INIT INFO
# Provides:          arp_estatica
# Required-Start:    $all
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:
# Short-Description: Entrada estatica para evitar mitm
### END INIT INFO

cmd=$(cat /proc/net/arp | wc -l | awk '{print $1}')
while [ $cmd -eq 1 ]
do
        sleep 1
        cmd=$(cat /proc/net/arp | wc -l | awk '{print $1}')
done
arp -s $(route -n | grep -e '^0.0.0.0' | awk '{print $2}' | sed -n '1p') $(arp -n | grep `route -n | grep -e '^0.0.0.0' | awk '{print $2}' | sed -n '1p'` | awk '{print $3}')
exit 0

执行命令时,/net/proc/arp似乎是空的。所以我一开始就用这个解决了

#!/bin/bash

### BEGIN INIT INFO
# Provides:          arp_estatica
# Required-Start:    $all
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:
# Short-Description: Entrada estatica para evitar mitm
### END INIT INFO

cmd=$(cat /proc/net/arp | wc -l | awk '{print $1}')
while [ $cmd -eq 1 ]
do
        sleep 1
        cmd=$(cat /proc/net/arp | wc -l | awk '{print $1}')
done
arp -s $(route -n | grep -e '^0.0.0.0' | awk '{print $2}' | sed -n '1p') $(arp -n | grep `route -n | grep -e '^0.0.0.0' | awk '{print $2}' | sed -n '1p'` | awk '{print $3}')
exit 0