Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么重定向操作符被解释为R的system()调用中的文件?

为什么重定向操作符被解释为R的system()调用中的文件?
EN

Stack Overflow用户
提问于 2020-07-31 13:04:07
回答 2查看 83关注 0票数 0

简单的命令,如:system(command = "cat file1 > file2")

产生错误:/usr/bin/cat: >: No such file or directory

这意味着>被解释为一个文件。为什么会发生这种事,我怎么才能绕过它呢?我正在Windows 10 Rstudio R4.0上运行这个程序。这些命令本身运行良好并不值钱,就像在system("cat file1")中将预期的内容打印到stdout一样。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-31 13:21:09

跑步时

代码语言:javascript
运行
AI代码解释
复制
cat file1 > file2

您正依赖shell为您进行重定向。当您在linux机器上运行system()时,它将为您创建一个shell,但是当您在Windows上使用system()时,它不会运行完整的shell,它只是尝试执行命令。因此,您需要使用shell()代替。

代码语言:javascript
运行
AI代码解释
复制
shell(command = "cat file1 > file2")

这将在?system帮助页面的Note部分中进一步讨论。

票数 3
EN

Stack Overflow用户

发布于 2020-07-31 13:20:54

(这个答案主要是作为MrFlick先生关于使用shell的建议的另一种通知。)

system2system稍微差一些。稍微好一点的一种方法是,它允许使用stdout=stderr=参数对参数进行重定向。你的命令是:

代码语言:javascript
运行
AI代码解释
复制
system2("cat", "file1", stdout = "file2")

不过,要小心,除了最简单的命令序列(或最偏执的命令序列)外,R的system命令对所有命令序列都是非常危险的。作为比较,

  • system()接受一个字符串,使调用者处理任何引用;

  • system2()允许您提供一个论点向量,在我看来,它将处理引用和类似的.但从它的来源来看:

命令<- env(c(shQuote(命令),env,args),折叠=“")

,它只保护命令本身,留下其余的args盲目地保留space-collapsed.。

另一种选择是使用processx包运行命令,因为它为您处理所有这些.还有其他一些安全措施和钟声。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63199075

复制
相关文章
R中的管道操作符%>%
管道是一种强大的工具,可以清楚地表示由多个操作组成的一个操作序列。管道%>% 来自于magrittr 包。因为tidyverse 中的包会自动加载%>%,所以一般我们不需要自己加载这个包。
生信编程日常
2020/04/01
1.5K0
R tips: rlang中的expression操作符
在R中,library函数的表现有点特殊,传给它的参数变量不是类似于常规R表达式的即时执行,而是像是被‘冻结’了一样。
生信菜鸟团
2021/10/12
1.6K0
vue调用js文件_vue调用其他js文件中的方法
(1) 首先 npm install jquery –save (–save 的意思是将模块安装到项目目录下,并在package文件的dependencies节点写入依赖。)
全栈程序员站长
2022/11/08
19.4K0
Linux:system 调用引发的 getcwd 异常
我们有个功能是这样的:有个以 root 运行的 python 程序,它需要以 test 用户执行 linux 命令,所以就通过 subprocess 库 + sudo 来执行,也就是下面的关系图:
Lin_R
2019/07/02
1.4K0
Linux:system 调用引发的 getcwd 异常
PHP调用其他文件中的类
首先在一个tool.php文件中声明一个类: <?php class tool { function say(){ $result="Hello,World"; return $resul
用户8660814
2021/07/13
2.9K0
Linux中的重定向
处理数据需要输入输出,在linux中一切皆文件,所操作的输入输出都认为是一个文件,而此文件表现为每打开一个文件系统会分配一个数字,这个数字代表一个文件,这个数字叫文件描述符FileDescriptor
鱼丸葱面
2020/12/22
2.7K0
Linux中的重定向
Python中的相对文件路径的调用
先让我们来看看一个用到相对文件路径的函数调用的问题。假设现在有两个脚本文件main.py和func.py,他们的路径关系是:
用户1332428
2018/07/30
2.5K0
Linux中查看端口被哪个进程占用、进程调用的配置文件、目录等
1.查看被占用的端口的进程,netstat/ss -antulp | grep :端口号
非著名运维
2023/09/02
7.8K0
Linux中查看端口被哪个进程占用、进程调用的配置文件、目录等
c语言中的system函数_c语言system的头文件
执行 dos(windows系统) 或 shell(Linux/Unix系统) 命令,参数字符串command为命令名。另,在windows系统下参数字符串不区分大小写。
全栈程序员站长
2022/10/02
2.5K0
Shell中的重定向
标准输入、标准输出和标准错误 一个程序的的输入可以来自于键盘,也可以来自于文件或者其他设备;同样的,一个程序也可以将输出显示在屏幕或者保存到文件中。这就涉及到标准输入、标准输出和标准错误。 程序的输入是标准输入,默认是键盘,用户可以将其指定为文件或其他设备。 程序的输出有两种,即标准输出和标准错误,其中标准输出是程序的正常输出、标准错误是程序的错误输出。二者默认都被指定为屏幕,用户可以将其指定为文件或其他设备。 下面的程序从键盘读取输入,将结果显示在屏幕上,即标准输入、标准输出和标准错误都采用默认的设置:
mwangblog
2018/07/04
8060
HTTP中的重定向
URL 重定向,也称为 URL 转发,是一种当实际资源,如单个页面、表单或者整个 Web 应用被迁移到新的 URL 下的时候,保持(原有)链接可用的技术。HTTP 协议提供了一种特殊形式的响应—— HTTP 重定向(HTTP redirects)来执行此类操作,该操作可以应用于多种多样的目标:网站维护期间的临时跳转,网站架构改变后为了保持外部链接继续可用的永久重定向,上传文件时的表示进度的页面,等等。
刘亦枫
2020/03/19
2K0
HTTP中的重定向
System.map文件的作用
这里,你现在可以知道System.map文件是干什么用的了。 每当你编译一个新内核时,各种符号名的地址定会变化。 /proc/ksyms 是一个 "proc文件" 并且是在内核启动时创建的。实际上 它不是一个真实的文件;它只是内核数据的简单表示形式,呈现出象一个磁盘文件似 的。如果你不相信我,那么就试试找出/proc/ksyms的文件大小来。因此, 对于当前运行的内核来说,它总是正确的.. 然而,System.map却是文件系统上的一个真实文件。当你编译一个新内核时,你原 来的System.map中的符号信息就不正确了。随着每次内核的编译,就会产生一个新的 System.map文件,并且需要用该文件取代原来的文件。
233333
2019/05/25
2.7K0
[WIS22] 从 R 中调用 Wolfram 语言
本文译自 Wolfram 2022 印度冬令营文章系列之一:https://community.wolfram.com/groups/-/m/t/2446943
WolframChina
2022/03/29
9340
[WIS22] 从 R 中调用 Wolfram 语言
Java中的String类能否被继承?为什么?
不能被继承,因为String类有final修饰符,而final修饰的类是不能被继承的。 Java对String类的定义: public final class String implements java.io.Serializable, Comparable<String>, CharSequence { // 省略...  } final修饰符的用法: 1.修饰类   当用final修饰一个类时,表明这个类不能被继承。final类中的成员变量可以根据需要设为final,但是要注意final类中的
nnngu
2018/03/15
2K0
Java中的String类能否被继承?为什么?
verilog中的操作符
其中, con_expr是条件表达式,他的结果为真或假;expr1,expr2是待选的执行表达式。当 con_expr为真时,选择执行expr1,否则选择执行expr2.
数字积木
2021/04/15
1.1K0
python中的and、or 操作符
 1. 其"and"操作符返回的结果是决定表达式结果的值:两边条件都为真则结果为真,有一假则为假
py3study
2020/01/17
5850
安卓system文件夹_system文件丢失
\system\app 这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是/data/文件夹中 \system\app\AlarmClock.apk 闹钟 \system\app\AlarmClock.odex \system\app\Browser.apk 浏览器 \system\app\Browser.odex \system\app\Bugreport.apk Bug报告 \system\app\Bugreport.odex \system\app\Calculator.apk 计算器 \system\app\Calculator.odex \system\app\Calendar.apk 日历 \system\app\Calendar.odex \system\app\CalendarProvider.apk 日历提供 \system\app\CalendarProvider.odex \system\app\Camera.apk 照相机 \system\app\Camera.odex \system\app\com.amazon.mp3.apk 亚马逊音乐 \system\app\Contacts.apk 联系人 \system\app\Contacts.odex \system\app\DownloadProvider.apk 下载提供 \system\app\DownloadProvider.odex \system\app\DrmProvider.apk DRM数字版权提供 \system\app\DrmProvider.odex \system\app\Email.apk 电子邮件客户端 \system\app\Email.odex \system\app\FieldTest.apk 测试程序 \system\app\FieldTest.odex \system\app\GDataFeedsProvider.apk GoogleData提供 \system\app\GDataFeedsProvider.odex \system\app\Gmail.apk Gmail电子邮件 \system\app\Gmail.odex \system\app\GmailProvider.apk Gmail提供 \system\app\GmailProvider.odex \system\app\GoogleApps.apk 谷歌程序包 \system\app\GoogleApps.odex \system\app\GoogleSearch.apk 搜索工具 \system\app\GoogleSearch.odex \system\app\gtalkservice.apk GTalk服务 \system\app\gtalkservice.odex \system\app\HTMLViewer.apk HTML查看器 \system\app\HTMLViewer.odex \system\app\IM.apk 即使通讯组件包含MSN、yahoo通 \system\app\ImCredentialProvider.apk \system\app\ImProvider.apk \system\app\ImProvider.odex \system\app\Launcher.apk 启动加载器 \system\app\Launcher.odex \system\app\Maps.apk 电子地图 \system\app\Maps.odex \system\app\MediaProvider.apk 多媒体播放提供 \system\app\MediaProvider.odex \system\app\Mms.apk 短信、彩信 \system\app\Mms.odex \system\app\Music.apk 音乐播放器 \system\app\Music.odex \system\app\MyFaves.apk T-Mobile MyFaves程序 \system\app\MyFaves.odex \system\app\PackageInstaller.apk apk安装程序 \system\app\PackageInstaller.odex \system\app\Phone.apk 电话拨号器 \system\app\Phone.odex \system\app\Settings.apk 系统设置 \system\app\Settings.odex \system\app\SettingsProvi
全栈程序员站长
2022/11/19
1.3K0
jmeter中自动重定向和跟随重定向的区别
自动重定向(状态码一般是200、20X):当重定向时,自动跳转时,只针对GET和Head请求,自动重定向可以自动跳转到最终目标页面,但是jmeter不记录重定向过程内容【在查看结果树中只能看到重定向后的响应内容】
muntainyang
2020/10/23
2.1K0
java在调用System.out.println()打印一个新new的对象时,为什么会调用toString方法?
版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons)
Fisherman渔夫
2019/07/31
1.6K0
java在调用System.out.println()打印一个新new的对象时,为什么会调用toString方法?
R语言 shiny包中的交互调用函数renderUI
体验网址:https://yanshenli.shinyapps.io/Desktop/
拴小林
2021/05/31
3.3K0
R语言 shiny包中的交互调用函数renderUI

相似问题

为什么我的赋值操作符没有被调用?

44

为什么不调用被重写的‘操作符new`?

40

错误的操作符被调用

10

函数调用中的临时结构被解释为声明。

21

为什么printf在从sizeof操作符调用时没有被调用

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档