问题标签 [io-redirection]
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.
unix - unix shell,使用管道子获取退出代码
假设我在 unix shell 中执行此操作
这会给我退出代码grep
但我怎样才能得到退出代码some-script.sh
编辑
假设管道操作是不可变的。即,我无法将其拆分并分别运行这两个命令
perl - 如何将标准输出重定向到 Perl 中的文件?
我正在寻找使用 Perl 将标准输出重定向到文件的示例。我正在做一个相当简单的 fork/exec 工具,我想将孩子的输出重定向到文件而不是父母的标准输出。
是否有dup2()
我应该使用的等价物?我好像找不到
java - 使用 Runtime.getRuntime().exec() 重定向不起作用
我需要从程序执行命令。命令行没问题,我在终端试了下,在程序里不行。
我从我的代码中添加了一个副本:
该程序必须获取文件夹中所有文件的名称(文件名)并提取这些视频的元数据,将它们写入文件夹“元数据”中的 .json 文件中。
问题出在哪里?
c++ - 将文件流重定向到内存流
我确实有一个程序(例如称为“a.exe”)从多个文件中读取其配置。我可以编写另一个程序来将“a.exe”的所有文件访问重定向到另一个流(例如控制台)吗?
我没有“a.exe”的代码,但是如果我得到a.exe的源代码,显然我可以更改所有文件访问。但是有没有可能通过非常“最小”的更改来覆盖所有文件访问?例如覆盖 file.open 函数或类似的东西?
perl - Perl,重定向标准输出但保持父级
在 perl 中,在fork()
ing 之后我可以将孩子的标准输出重定向到这样的文件
我想知道是否有一种“复制它”的方法,将标准输出保留在父标准输出上,但也复制到指定的文件。它应该以不需要任何缓冲的方式发生,并且用户将实时看到控制台输出。这有点像 unix tee
。但理想情况下,该解决方案不会涉及任何第三方库。
c - 进程可以创建额外的 shell 可重定向文件描述符吗?
例如,进程“foo”是否可以写入文件描述符 3,在 bash shell 中可以这样做
如果是这样,您将如何编写它(用 C 语言)?
c++ - C++中的重定向
cout 是否写入给定文件?
如果没有,有没有办法在不将变量发送到 foo 的情况下做到这一点,比如new
?
更新:
我不能使用使用类或使用全局的解决方案,所以请给我一些使用新的解决方案。还将 from main 传递给 foo
应该工作吗?
我正在尝试这样做,但它不起作用?我将流传递给 foo 所以它存在于 main 中,所以当 foo 完成时它不会结束。
python - 使用来自 python 2.4 的输入重定向运行 shell 命令?
我想要实现的是启动以下 shell 命令:
在 python 2.4 脚本中,与以下内容没有什么不同:
这是由于使用了重定向符号(我相信)而导致的 - mysql 没有收到输入文件。
我也试过:
没有去那里以太
有人可以指定进行 shell 调用的语法,以便我可以输入文件重定向吗?
提前致谢。
android - Android:使用 i/o 重定向调用常规 Java 风格的程序
我有一个带有“public static void main”方法(java风格)的apk(或.class,无论如何),它可以做一些事情。编译和安装 apk 这可以正常工作(来自 eclipse)。
现在,我想从一个常规的 Android 应用程序调用该代码,同时将其 stdin/stdout 重定向到 Input-/Output-Stream 对象。这可能吗?如果是这样:如何?如果没有:是否有其他方式可以通过某种管道/io 重定向构造在后台运行活动?
谢谢。
bash - 这些流重定向如何工作?
一起捕获命令的 STDERR 和 STDOUT:
/li>要捕获命令的 STDOUT 但丢弃其 STDERR:
/li>要捕获命令的 STDERR 但丢弃其 STDOUT(此处排序很重要):
/li>交换命令的 STDOUT 和 STDERR 以捕获 STDERR 但将其 STDOUT 保留为旧的 STDERR:
/li>
我不明白 3 和 4 是如何工作的,我也不太确定我对 1 和 2 的理解是否正确。以下是我的理解。请纠正我哪里错了。
我知道0
和象征着1
和。2
STDIN
STDOUT
STDERR
将 2 重定向到 1,以便它们现在都使用相同的流(
&
转义1
以确保STDERR
不会重定向到名为的文件1
)将 2 (STDERR) 重定向到空流,使其被丢弃
我不明白这一点。难道不应该只是
此外,如果目标是在 获取
STDERR
消息STDOUT
,不会1>/dev/null
将所有内容重定向到/dev/null
?这里发生了什么?什么是流
3
?它像一个临时变量吗?