我正在尝试运行一个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哈希的一部分?
答案 0 :(得分:3)
你可以试试:
sudo -E ruby some_script_which_requires_root_access.rb
它可以保护您的整个环境。所以它应该按预期工作。
答案 1 :(得分:0)
您是否尝试过编辑rvmsudo脚本并将envvar定义放在那里?