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:如何提示连接细节以及如何避免硬编码?的主要内容,如果未能解决你的问题,请参考以下文章

如何远程访问ubuntu上的svn服务器

rstudio加载包的时候提示文件名不正确加载不了如何解决

连接svn server时提示 不知道这样的主机

qt :显示鼠标位置,如工具提示

ubuntu18.04 Rstudio-server无法连接服务器

svn checkout 提示“由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。”解决方法