我需要能够从crontab运行bundle exec ...
,但由于我对用户的登录配置文件进行了一些更改,因此在启动时调用了脚本,因此无法正常工作。
所以,我曾经有bash -lc 'BUNDLE_GEMFILE=/location/of/Gemfile bundle exec /location/of/script'
但是,我不能再这样做了,因为我的用户~/.profile
的末尾会调用一个whiptail菜单对话框(menu.sh
),因此,任何bash -l
命令都会调用{{1} }}。
我已尝试将crontab行更改为menu.sh
,但这也不起作用。
还有其他方法吗?我应该注意,我试图运行的ruby脚本确实需要使用我放在bash -c 'BUNDLE_GEMFILE=/location/of/Gemfile bundle exec /location/of/script'
中的环境变量。
答案 0 :(得分:0)
如果我摆脱bash -lc
并引用bundle
的完整路径,它看起来很有效:
BUNDLE_GEMFILE=/location/of/Gemfile /root/.rbenv/shims/bundle exec /location/of/script
答案 1 :(得分:0)