I'm wondering if there is a way that I can read user input from STDIN without echoing it back to the screen in R. I know that readline()
, readLines()
and scan()
can read in user input from the keyboard but none appear to have an option to not echo back.
As you might expect this is to grab a password. So I'm looking for something that would let me do:
> a<-get_password()
Password:
> a
[1] "password"
What's the operating system? If you can run it from a terminal, this should work.
get_password <- function() {
cat("Password: ")
system("stty -echo")
a <- readline()
system("stty echo")
cat("\n")
return(a)
}
> a <- get_password()
Password:
> a
[1] "sdfs"
>
This works on OS X using R from Terminal.app, but not from R.app. No idea on a Windows solution, since there doesn't seem to be a native R solution.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With