RStudio 和 SVN:如何提示连接细节以及如何避免硬编码?
Posted
技术标签:
【中文标题】RStudio 和 SVN:如何提示连接细节以及如何避免硬编码?【英文标题】:RStudio and SVN: How to prompt connection details and how to avoid hard coding? 【发布时间】:2013-11-10 15:52:09 【问题描述】:我正在使用 RStudio 和 SVN 存储库对我的 R 项目和文件进行版本控制。通常我在这些脚本的开头从数据库中获取数据。我正在使用这样的 RODBC:
channel <- odbcConnect(mydbconn, uid = "", pwd = "")
现在,我不想在这些脚本中存储连接详细信息、用户 ID 和密码,因为如果这些是硬编码的,那么可以访问 SVN 存储库的每个人都可以看到我的密码等。
在这种情况下,最好的方法是什么?运行此脚本时(例如从 RStudio 或从命令行),如何提示这些详细信息(连接、用户 ID 和密码)?
【问题讨论】:
【参考方案1】:如果要提示用户,可以使用[readline][1]
方法:
connection <- readline("Connection: ")
uid <- readline("User id: ")
cat("Password: ")
system("stty -echo")
password <- readline()
system("stty echo")
注意避免在屏幕上显示密码的小技巧。
另一种选择是将这些值存储在配置文件中(例如config.local
)并在脚本中插入load(config.local)
。确保该文件未使用svn propset svn:ignore "config.local . "
进行版本控制。或者,您可以将该文件存储在不受 svn 控制的目录中。
【讨论】:
以上是关于RStudio 和 SVN:如何提示连接细节以及如何避免硬编码?的主要内容,如果未能解决你的问题,请参考以下文章