问题标签 [system2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
65 浏览

r - 在 Windows 上使用 stdout = TRUE 调用 system2 时嵌入 nul 警告

尝试wmic通过system2接口检索当前进程命令行信息时:

我得到以下输出和警告:

有趣的是,当使用system, 来获得相同的所需输出(当前进程的命令行信息)时,它似乎工作正常:

输出:

此外,system2stdout = ""输出打印到控制台:

我尝试以不同的方式指定args参数,但没有运气。system2有人可以解释警告吗?下面的一些sessionInfo

  • R 版本 3.6.2 (2019-12-12),运行于:Windows 10 x64
  • 平台:x86_64-w64-mingw32/x64(64位)
  • 语言环境:LC_COLLATE=English_United Kingdom.1252

关于复制的一些细节:

  • 在活动的 R 会话中,此问题仅在 RGui 中为我显现,而不是在 RStudio 中或从命令提示符 (cmd.exe) 运行的 R 会话中
  • 当代码在启动时执行时(例如通过 .Rprofile),它会同时出现在 RGui 和 RStudio 中,但不会出现在从命令提示符 (cmd.exe) 创建的 R 进程中
0 投票
0 回答
18 浏览

r - R system2成功后退出失败

我正在运行一个外部可执行文件,将结果捕获为一个对象。.exe 是基于遗传参数和遗传价值预测选择种群的工具。程序按要求执行并写入输出,但未能退出。没有错误,当手动停止时,它以状态码 0 退出。我怎样才能让这个调用退出并像其他系统调用一样继续?

调用的格式如下所示:

t <- tryCatch(system2("OPSEL.exe", args = "CMD.txt", timeout = 10))

我已经尝试使用上面引用的两个文件在命令 shell 中运行它,它会正确退出。

0 投票
1 回答
76 浏览

r - 如何使用 R 中的以下命令:echo "${pipestatus[1]}"?

我需要检查 Debian 上 R 的管道命令的退出状态,就像这里一样,但无法echo "${pipestatus[1]}"使用system2/system函数从 R 成功运行。当我使用命令行时,该命令正常工作。

我尝试在 R 中使用的命令可能如下所示(我使用的 shell 是 zsh):

经过一些测试,我可以看到退出状态检查命令无法正确引用,但我无法找出正确的方法。

我正确地引用这个命令是问题吗?如何echo "${pipestatus[1]}"从 R 运行这个 () 命令?是否有任何替代方法可以使用相关命令检查退出状态?

0 投票
1 回答
34 浏览

r - 将 stdout = TRUE 添加到 R 的 system2 命令并收到警告。为什么?

我需要将在 Linux (Ubuntu) 上运行的 Firefox 进程的数量存储在 R 脚本的变量中。我使用的 system2 命令本身似乎有效。但是,当我添加stdout = TRUE以捕获字符向量中的信息时,我会收到警告。为什么要发出警告?

0 投票
0 回答
144 浏览

r - 如果命令具有像“cmd | head”这样的管道,我如何使用 system 或 system2

我注意到,当我在其中运行一个长命令时linux(我在终端上使用的是 cantos 7.3 发行版,R 4.0.3)并且我通过管道head仅向我显示第一个输出(并且命令停止)

当我在 RI 中尝试等效项时无法获得相同的行为

有没有办法让我获得与R我在系统命令行上获得的行为相同的行为?

0 投票
0 回答
26 浏览

r - 无法 git 添加使用 R 脚本中的 system2

我正在尝试使用 git add 添加文件。注意:我对 git很陌生。

使用 Ubuntu Linux

从终端提示符下,这是可行的。

/usr/bin/git add static/fb/img/gic1-5_yield_curve_5bd11b935bd72745.png

git status我可以通过执行并查看要提交的更改下的文件名来确认它是否有效:

我希望能够从 R 脚本中做同样的事情。这不起作用:

system2(command = "/usr/bin/git", args = c("add", "static/fb/img/gic1-5_yield_curve_5bd11b935bd72745.png"))

为什么是这样?

0 投票
0 回答
45 浏览

r - R System 命令在 R studio 中工作,但在 Rescript 批处理模式下不工作,有什么方法可以从 Rescript 模式调用 vbs 脚本?

我在 new.R 文件中有以下代码,在 RStudio 交互模式下工作正常。

但是当我使用 运行new.R文件时Rscript,它不会调用 vbs 脚本。有没有其他方法可以在 Rscript 模式下调用 vbs 脚本?

0 投票
1 回答
228 浏览

r - system2("bash", "ls") -> 无法执行二进制文件

任何人都知道为什么

将导致(在 R-Gui 和 RStudio 控制台中)

而其他 shell 工作没有问题(参见下面的示例),而 RStudio 终端中的“bash”也工作没有问题。如果有补救措施?

工作system2示例:

在此处在 Windows 10 上运行 R-3.6.3 ... 将“Git bash”作为“bash”执行。

PS:以防万一有人想知道-我也尝试了完整路径,即/usr/bin/ls->相同的结果

0 投票
0 回答
25 浏览

r - 根据 `stdout` 选项,具有 R`system2` 的不同输出文件

考虑这个文件: ansi-to-html_bundle.js

在这里,我cat ansi-to-html_bundle.js使用. 这将返回文件行:system2stdout = TRUE

现在我cat ansi-to-html_bundle.js使用system2. stdout这将写入此文件:

然后,如果我比较获得的两个文件ansi-to-html_bundle_cat1.jsansi-to-html_bundle_cat2.js,它们是不同的(下面的 WinMerge 屏幕截图):

在此处输入图像描述

这是一个错误还是有合理的解释?

我认为这个问题发生在 Windows 上而不是 Linux 上。这似乎与文件中存在 UTF-8 字符有关。正确的文件(类似于原始文件)是第二个文件。

0 投票
1 回答
128 浏览

r - 如何解决西里尔符号(cmd 系统命令)的问题?

在我之前的帖子中,我提出了一个关于 R 中西里尔符号的问题。今天我遇到了另一个问题。例如,我们想查看我们正在运行的进程:

而我们所看到的...

"Iconv",这在上一个任务中有所帮助 - 在这里无济于事。

sys.setlocale- 也。

什么可以解决这个问题?