Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
背景:我和我的同事都以“root”用户登录AIX服务器,登录后每个人都加载他们的.profile/.kshrc/.netrc等,然后开始他们的工作,执行他们自己的shell脚本。
问题:当我 crontab 一个脚本时,它会失败,因为其中的一些 cmds 只在我自己的环境中定义。即使我在脚本中添加 .profile/.kshrc/.netrc 的语句,失败仍然存在。看来它只是不记得以前的系统设置。
问题:如何编辑脚本以使任务在我自己的环境中运行?
由 cron 运行的脚本应该设置自己的 PATH 以确保它从已知情况开始。
列出脚本使用的所有外部命令,列出它们所在的目录,然后在脚本顶部添加一行:
PATH=/first/dir:/second/dir
ETC...
在大多数情况下,您希望包含/usr/bin和/或/bin-- 对于以 root 身份运行的脚本/usr/sbin是另一个最爱。
/usr/bin
/bin
/usr/sbin