我一直在Ubuntu中使用R来使用system()来调用Amazon EC2实例,pipe理S3上的文件等。如果我从命令行启动R,一切正常。 但是,如果我从一个脚本使用Rscript或从ESS启动R,我没有设置环境variables的问题。
我认为这是一个问题,我没有适当的grokking在Ubuntu设置环境variables。 我认为“正确的地方”(对于“右”的一些定义)是在〜/ .bashrc中设置用户环境variables。 这是我设置export EC2_HOME=/home/jd/ec2但是当我从ESS执行R并进行系统调用时,.bashrc脚本没有运行。 我已经尝试了Googing,并且在Ubuntu中看到许多对环境variables的解释,例如这个 。 我的膝盖混乱反应是尝试在上述线程中的每个build议,并停止给一个狗屎一个选项的工作。 但后来我终于遇到了非标准的设置,后来在屁股里咬我。
那么我应该如何设置环境variables,以便在R中运行system()调用时正确设置?
如何重置所有的环境variables?
PHP getenv('HOSTNAME')
环境variables无法正常工作或Java安装不正确
如何从bash脚本源文件
如何在Windows上设置RUBYOPT以使用其他包含
在编译Code :: Blocks之前运行vcvars32.bat?
修改系统环境variables
不能访问PHP中的环境variables
Bash脚本:扩展参数不使用$ @或$ *
我认为你在混淆这个问题。 我担心这可能是关于登录shell与非登录shell。 请参阅bash手册页以获取细节信息。
这就是说,如果你可以在系统范围内设置环境变量,你有几个选择:
/etc/environment是一个非常好的地方,因为它是shell-agnostic,如果你使用不同的shell
对于登录和非登录shell来说,获得我认为合适的完全控制的一种方法是将我的更改放入~/.local_bashrc
添加. ~/.local_bashrc . ~/.local_bashrc和所有的. ~/.local_bashrc
~./bashrc
~/.bash_profile
〜/ .profile`
等。
您可以在源echo Hello from FILE之前使用echo Hello from FILE的echo Hello from FILE在其中用文件的名称替换FILE。 这将显示从登录(例如通过gdm等),通过ssh连接,通过新的xterm等终端等shell之间的差异。
你可以尝试使用Sys.setenv在R中设置它们。
您可以使用source命令强制系统读取.bashrc文件
source ~/.bashrc
许多不雅,丑陋的方法来应用这个
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。