无法在 init.d 文件中获取启动时运行的代码

无法在 init.d 文件中获取启动时运行的代码

我已经为此工作了 4 个多小时。我所做的就是让以下代码在启动时运行:

IP_ADDR=$(/sbin/ifconfig eth0 | /bin/sed -rn 's/^.*inet addr:(([0-9]+\.){3}[0-9]+).*$/\1/p')
/usr/bin/wget -q -O /dev/null http://example.com/private/RPi_IP.php?send=${IP_ADDR}

将 example.com 替换为我的网站。不知为何,每次启动时我都会收到一条消息,提示我制作的启动文件失败。我不知道该怎么办。我甚至尝试将此代码写入其他程序的其他启动文件中,但仍然会导致启动失败。这段代码真的有问题吗?它作为独立的 bash 脚本运行良好,但在启动时却不行。

在创建这个文件后我总是会这样做:

chmod +x file
sudo update-rc.d file defaults

我上面做的事情有什么问题吗?我在 Raspberry Pi 上安装了 Raspbian,不知道这是否有用。

答案1

如果您只需要在重新启动时运行它,那么我会使用 cron,而不是将其制作成启动脚本
@reboot /path/to/file。将使其在启动时运行。init.d
中的脚本需要特定的行和诸如此类的东西,如果您不需要所有这些麻烦事,那么 cron 就可以很好地完成这项工作。

相关内容