R中是否有办法以交互方式将密码输入命令行并将其隐藏在屏幕上?我知道有readLine
,但我不知道密码可以隐藏在那里。
假设您要使用 ROracle
连接到数据库。或 RMySQL
并且不想将密码存储在脚本中,而是让用户在每次执行查询时都输入密码。
是的,我们有一个类似的 question在这里,但我觉得情况已经改变,值得再次解决问题。不幸的是 tcltk
不适用于 RStudio(服务器)。
但是,我看到 R Studio 的人们找到了支持版本控制的解决方案。我记得以前的版本,每次我在 R Studio 中输入我的 repo 密码时,我都可以看到它,但现在这似乎已经修复了。我知道这可能是 R Studio 技术,但是在使用 R Studio Server 时,普通 R 用户是否可以访问它?
最佳答案
实际上 R Studio (Server) 提供了一个很好的解决方案。您可以使用 .rs
访问它职能。他们提供了一个无证密码功能,虽然没有保证永远和一天的支持,但它非常好:
.rs.askForPassword("foo")
您可以在此处找到 RStudio 的 Josh 的原始提示:
http://support.rstudio.org/help/discussions/questions/1448-password-interaction-with-dbs-on-rstudio-server
编辑:
截至 2015 年,还有另一个很好的交互式输入密码的解决方案。您可以使用
shiny
有一个带有密码表单的基于 Web 的小窗口。我与@hadley 的讨论显示了一个示例片段:https://github.com/rstats-db/RPostgres/issues/26编辑:
截至 2017 年,对此还有另一个更新。 @m-dz 指出了这一点:
rstudioapi::askForPassword("Enter your pw")
以及 getPass::getPass()
来自 R Studio Support webpage .另外,我还意识到有.rs.api.askForPassword()
这相当于最初建议的电话 - 至少据我所知。
关于r - 在 R 或 R Studio(服务器)中交互输入密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14600099/