运维部落

首页 > 解决方案 > /etc/rc.local 中部分命令无法执行的原因及解决办法

/etc/rc.local 中部分命令无法执行的原因及解决办法

2016年7月10日

大家都知道,在linux发行版本中,如需添加随系统启动而自动运行的服务,只需在/etc/rc.local 脚本文件中添加即可,

但如果其运行的命令或程序不带路径,如下

#!/bin/bash

distccd –user nobody –allow 10.10.98.0/24 –log-file=/var/log/distcc.log –verbose –daemon
loadavg -s 10.10.98.20 >/dev/null 2>&1

注:distccd、loadavg命令存放在/usr/local/bin/目录下

在系统执行这些命令时将报错,无法正常执行!究其原因: 由于在执行rc.local脚本时,PATH环境变量未全部初始化,目录/usr/local/bin/ 需在执行/etc/profile 后才被添加到环境变量PATH中。

故,在 /etc/rc.local 执行 /usr/local/bin/ 目录中的命令需要使用绝对路径。

分类: 解决方案 标签: ,
本文的评论功能被关闭了.