我想知道是否有一种方法可以从STDIN读取用户输入而不回显到R中的屏幕。我知道readline()
,readLines()
和scan()
可以从键盘中读取用户输入,但似乎没有选择不回声。
如您所料,这是要获取密码。所以我正在寻找可以让我做的事情:
> a<-get_password()
Password:
> a
[1] "password"
最佳答案
什么是操作系统?如果您可以从终端运行它,则应该可以运行。
get_password <- function() {
cat("Password: ")
system("stty -echo")
a <- readline()
system("stty echo")
cat("\n")
return(a)
}
> a <- get_password()
Password:
> a
[1] "sdfs"
>
这在OS X中可以使用Terminal.app中的R,但不能使用R.app中的R。 Windows解决方案尚无定论,因为似乎没有 native R解决方案。
关于读取用户输入而不回显,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5154335/