【发布时间】:2013-04-06 04:12:50
【问题描述】:
我正在尝试在启动时启动一个 tty.js shell,这对于启动时的 cron 作业非常容易,但它无法正确启动环境。它没有正确的 $PATH 等。它没有执行正确的脚本,如 /etc/environment、~/.bashrc 等。有没有办法在登录时使用相同的环境启动 tty.js。
【问题讨论】:
我正在尝试在启动时启动一个 tty.js shell,这对于启动时的 cron 作业非常容易,但它无法正确启动环境。它没有正确的 $PATH 等。它没有执行正确的脚本,如 /etc/environment、~/.bashrc 等。有没有办法在登录时使用相同的环境启动 tty.js。
【问题讨论】:
至少在 Gentoo 上,您可以使用 source /etc/profile 命令显式设置环境。它重置环境变量等。试试看吧。
【讨论】:
对于启动时的 Ubuntu cron 作业和 upstart,不要加载 /etc/environment,因为这通常由 pam_env.so 在您登录时完成。但是,su 会正确加载 /etc/environment 和 /etc/profile。因此,在启动时或新贵中的 cron 作业中,您可以执行以下操作:
exec su username -c "/home/username/bin/tty.js 1> /home/username/tty.log 2> /home/username/tty.log &"
【讨论】: