如何执行通常需要用户交互的系统命令?例如,我想运行:
system("ssh-keygen")
在终端提示符下,它看起来像这样:
iMac-2:~ admin$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/admin/.ssh/id_rsa):
在RStudio中,此命令会导致应用程序挂起。
我尝试了wait=FALSE
和invisible=FALSE
选项,但它们似乎没有帮助。
答案 0 :(得分:2)
好。
有一些命令允许您将参数放在命令行中:
例如:
ssh-keygen
如果您运行:ssh-keygen --help
,您可以找到类似的内容:
ssh-keygen -c [-P passphrase] [-C comment] [-f keyfile]
它表示您可以在命令行中指定参数。
在我的情况下,我已经测试过:
ssh-keygen -f /tmp/id_rsa -P ""
我不需要与该计划进行互动。
像adduser
命令这样的另一个示例,您可以尝试使用:
echo PASSWORD | passwd USERNAME --stdin