当前我在哪里工作,要获得授予对项目工作目录的访问权限的过程很复杂(要求提交密码)。我们有一系列脚本来授予访问权限,并希望将它们放入.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
中输入密码的正确方法,或者在Rstudio完成加载后是否还有另一个钩子用于运行代码?
答案 0 :(得分:0)
也许这可以帮助某人
像下面一样创建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')
,供以后使用。