启动时运行时解压缩命令在脚本中不起作用

启动时运行时解压缩命令在脚本中不起作用

我有以下 bash 脚本:

FILE=/home/pi/kpidry/test.zip
if test -f "$FILE"; 
then
    echo "$FILE exists"
    rm -r /home/pi/test/*
    unzip /home/pi/kpidry/test.zip -d /home/pi/test/
    rm -r /home/pi/kpidry/test.zip
fi
exit 0

当我手动运行该脚本时,该脚本运行良好,并按预期执行所有命令。但是,我在 rc.local 中添加了一行以便在启动时运行该脚本。当它运行时,它会执行除 unzip 行之外的每一行。难道是因为解压程序还没有运行?如果是这样,我可以在 rc.local 中手动运行它吗?

很感谢任何形式的帮助!

答案1

我认为 /usr/bin/ 中的文件不能保证在启动时可用:

/usr/bin 是类 Unix 操作系统上的标准目录,其中包含引导(即启动)或修复系统不需要的大部分可执行文件(即准备运行的程序)。 (参考:http://www.linfo.org/usr_bin.html

尝试调用“/usr/bin/unzip”而不是解压缩。

如果调用来得足够晚,并且 /usr/bin/ 那时已安装,并且只是缺少 PATH 环境,则可以工作。

相关内容