通过R在终端执行命令:如何正确引用?
问题描述:
我想在远程服务器上执行的行:通过R在终端执行命令:如何正确引用?
ssh [email protected] 'for i in 1 2; do echo "$i"; done'
如何经由R个发送这个命令到服务器的system()
命令? 问题是system()
需要一个封装在引号中的字符串,如果我引用上面的一行,则引号会互相取消。
答
尝试逃避报价:
ssh [email protected] '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
,它应该工作。当然,您应该先验证命令是否在b中运行,然后再在R中运行。
+0
system(“ssh user @ machine 'for i in 1 2; do echo \“$ i \”; done'“)完美地工作,谢谢! – BayerSe
你试过了什么?请分享确切的R代码 – RockScience
我最初试图引用上面的字符串:system(“ssh user @ machine'for i in 1 2; do echo”$ i“; done'”) – BayerSe