有时这有效,有时不行.这似乎取决于系统是否需要提示输入密码.更普遍的问题是:用户是否有办法从R内部向shell命令提供输入?
system('sudo npm install gitbook -g')
Run Code Online (Sandbox Code Playgroud)
请注意,我的具体情况是尝试安装node.js模块.但是,我认为您可以使用更简单的命令复制它.
system('sudo mkdir testdir')
Run Code Online (Sandbox Code Playgroud)
请注意,这有时会有效,具体取决于是否sudo要求您重新输入密码.谢谢.
Jea*_*lie 12
我可以建议两种不同的解决方案
使用gksudo,将在图形界面中提示用户输入密码.以下是它在实践中的工作原理:
system('gksudo ls')
PRO:
缺点:
gksudo 默认安装了我试过的linux品牌,但是YMMV:也许有些用户不会拥有它.询问用户密码R,并提供适当的sudo选项:-k始终要求输入密码,并-S接受标准输入的密码.以下是它在实践中的工作原理:
system('sudo -kS ls',input=readline("Enter your password: "))
PRO:
缺点:
R:它看起来像个坏主意.除此之外,我不知道以任何方式与开始的程序进行交互式通信R.
只是为了建立@Jealie 的回应。我相信 1. 不适用于新版本的 ubuntu。
但是我们可以让 Rstudio 处理密码:
system("sudo -kS ls", input = rstudioapi::askForPassword("sudo password"))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7148 次 |
| 最近记录: |