能否通过.Rprofile实现R新会话启动时隐藏版本信息?
解决R启动时隐藏版本信息的问题
首先直接给结论:没法通过.Rprofile实现这个需求——别急,听我解释原因,再给你几个实用的替代方案。
为什么.Rprofile不行?因为R的启动流程是这样的:先输出版本信息、完成基础初始化,之后才会加载执行.Rprofile里的代码。等.Rprofile运行的时候,版本信息早已经打印到控制台了,它根本没法提前阻止这个输出。
不过要实现“启动R时不显示版本信息”,有几个更靠谱的办法:
设置命令行别名(最推荐):
如果你用bash/zsh这类shell,可以在你的~/.bashrc或~/.zshrc里添加一行:alias R='R --quiet'保存后重新加载shell(或者执行
source ~/.bashrc),之后每次输入R启动会话,就会自动带上--quiet参数,版本信息就不会显示了。RStudio用户专属设置:
如果你用RStudio,不需要改命令行,直接去Tools -> Global Options -> General,取消勾选「Show startup message」选项,下次启动RStudio里的R会话就不会显示版本信息了。修改R启动配置(不推荐):
如果你有系统级权限,可以修改R的启动脚本,给默认启动参数加上--quiet,但这个方法的问题是,下次更新R的时候,修改的内容会被覆盖,所以一般不建议这么做。
另外提个小技巧:如果你已经启动了R,想清除控制台里的版本信息,可以在.Rprofile里加一行清屏命令:
cat("\033[2J\033[H")
但这只是事后清除,不是从根源上阻止输出,所以还是前面的方法更实用。
内容的提问来源于stack exchange,提问作者menteith
相关产品推荐
相关产品推荐

