Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过R在终端执行命令:如何正确报价?_R - Fatal编程技术网

通过R在终端执行命令:如何正确报价?

通过R在终端执行命令:如何正确报价?,r,R,我想在远程服务器上执行一行: ssh user@machine 'for i in 1 2; do echo "$i"; done' 如何使用system()命令通过R将此命令发送到服务器? 问题是system()需要一个用引号括起来的字符串,如果我引用上面的行,引号会相互抵消。尝试转义引号: ssh user@machine 'for i in 1 2; do echo \"$i\"; done' 我正在运行Windows,没有名为ssh的命令行工具,但是我尝试了以下代码: > sy

我想在远程服务器上执行一行:

ssh user@machine 'for i in 1 2; do echo "$i"; done'
如何使用
system()
命令通过R将此命令发送到服务器?
问题是
system()
需要一个用引号括起来的字符串,如果我引用上面的行,引号会相互抵消。

尝试转义引号:

ssh user@machine 'for i in 1 2; do echo \"$i\"; done'
我正在运行Windows,没有名为
ssh
的命令行工具,但是我尝试了以下代码:

> system("java \"-version\"")
java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)

您会注意到,我在
-version
参数周围加了转义引号,命令运行时没有任何问题。您可以尝试类似于ssh的
ssh
,它应该可以工作。当然,在R中尝试该命令之前,应该先验证该命令是否可以从bash shell运行。

尝试转义引号:

ssh user@machine 'for i in 1 2; do echo \"$i\"; done'
我正在运行Windows,没有名为
ssh
的命令行工具,但是我尝试了以下代码:

> system("java \"-version\"")
java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)

您会注意到,我在
-version
参数周围加了转义引号,命令运行时没有任何问题。您可以尝试类似于ssh的
ssh
,它应该可以工作。当然,在R中尝试该命令之前,应该先验证该命令是否可以在bash shell中运行。

您尝试了什么?请分享确切的代码,我最初只是尝试引用上面的字符串:system(“ssh”)user@machine“因为我在12;做回显”$i“完成””)你试了什么?请分享确切的代码,我最初只是尝试引用上面的字符串:system(“ssh”)user@machine'for i in 1 2;do echo“$i”done')系统(“sshuser@machine“i in 1 2;do echo \$i \“done'”)非常有效,谢谢!系统(“sshuser@machine“i in 1 2;do echo \$i \“done'”)非常有效,谢谢!