与rvmsudo的自定义env变种

时间:2011-04-24 17:12:51

标签: ruby bash rvm

我正在尝试运行一个ruby脚本,它需要root访问权限来执行某些任务。我知道rvmsudo存在并且我使用它,但如果我想设置一个env var,例如TEST_ENV=1,它就不起作用。

示例:

rvmsudo ruby some_script_which_requires_root_access.rb

当我调试脚本并检查ENV哈希时,我没有看到TEST_ENV=1 var。我尝试通过以下方式导出var:

export TEST_ENV=1 

并将其放在.rvmrc.bash_profile.bashrc current_user以及根.profile.bashrc中用户但不起作用。

所以我的问题是,我应该在哪里定义或导出此TEST_ENV=1,这样当我使用rvmsudo运行脚本时,它是ENV ruby​​哈希的一部分?

2 个答案:

答案 0 :(得分:3)

你可以试试:

sudo -E ruby some_script_which_requires_root_access.rb

它可以保护您的整个环境。所以它应该按预期工作。

答案 1 :(得分:0)

您是否尝试过编辑rvmsudo脚本并将envvar定义放在那里?