作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
目前我工作的地方有一个复杂的过程来获得对项目工作目录的访问权限(需要提交密码)。我们有一系列脚本来授予访问权限,并希望将它们放入 .Rprofile
文件中,以便它们在 Rstudio 中加载特定项目时自动执行。但是,当代码位于 .Rprofile
中时,我们遇到了如何让用户将其密码提交给代码的问题。作为引用,我们主要在 Rstudio-Server 上工作。
我们尝试将 getPass::getPass()
放入 .Rprofile
中,但这并没有采取任何输入,只是导致:
WARNING: your platform is not supported. Input is not masked!
同样,我们尝试使用 rstudioapi::askForPassword()
但这只会导致
Error: RStudio not running
是否有让用户在 .Rprofile
中输入密码的正确方法,或者是否有另一个 Hook 用于在 Rstudio 完成加载后运行代码?
最佳答案
也许这对某人有帮助
像下面这样创建一个rscript
if(Sys.getenv('PWD') == ""){
cat('Wellcome!\n')
pwd <- readline(prompt="Please, insert your password:")
Sys.setenv(PWD = pwd)
rm(pwd)
cat("\014")
cat("Right, everthing done for you, ", Sys.getenv('USER'), "!\n", sep='')
}
并在 Rprofile
上获取它,例如 "source('/usr/local/bin/rscript.R')"
用户将收到欢迎消息,输入密码,脚本会将其保存为 R 环境变量 ('PWD')
以备后用。
关于r - 如何在 session 启动时获取密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51862211/
我是一名优秀的程序员,十分优秀!