问题标签 [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.

0 投票
2 回答
4401 浏览

bash - 使用 head -1 的输出

当我写

ls | head -1

输出是

文件.txt

当我写

ls | head -1 > output.txt或者

回声`ls | 头 -1` > output.txt

文件 output.txt 包含

^[[H^[[2Jfile.txt

这让我很麻烦,因为我需要使用的输出head -1作为另一个命令的参数。

我怎样才能做到这一点?

0 投票
4 回答
12229 浏览

bash - 如何将 ssh 作业发送到后台

我通过 ssh 登录到远程服务器并启动了一个 php 脚本。显然,这需要 17 个小时才能完成,有没有办法断开连接但保持脚本执行?我没有进行任何输出重定向,所以我看到了所有输出。

0 投票
2 回答
3170 浏览

c++ - 如何从 std::cin 读取直到流结束?

我的问题是,我想从中读取输入,std::cin但不知道输入有多长。我也必须char而且不能使用std::string. 我必须处理两种方法:a)用户输入文本,当他点击 [ENTER] 时,程序停止阅读。b) 用户重定向到可以包含多行std::cin的文件(如)。.\a.oput < file

编辑:刚刚注意到 std::cin.eof() 在从文件读取的情况下也总是错误的。

对于a)我可以阅读直到 \n 发生。对于 b)编辑:否(我可以阅读直到出现 std::cin.eof()。)但是当我不知道我遇到的是 a) 还是 ab) 问题时,我该如何中断阅读过程?

这就是我所拥有的 a) ...

...和b)

我也知道std::cin.tellg()要获取流中的当前位置。

编辑:因此,在文件的情况下,输入流似乎std::cin >> std::noskipws >> bufferfalse. 上面的代码对 a) 做了什么:

  • 它等待用户进行输入并按 [ENTER]
  • 然后它遍历用户在最后一行输入的每个字符。
  • 然后它再次等待用户进行输入并按 [ENTER]
  • 无限等待处理循环

那么我该怎么做呢?

0 投票
2 回答
3323 浏览

c - 重定向子进程的输出

有几种方法可以重定向子进程的输出:

  1. 使用freopen(3)
  2. 使用dup(3)
  3. 使用popen(3)
  4. ...

如果只需要执行一个子进程并将其输出保存在给定文件中,那么应该选择什么,就像ls > files.txt作品一样?

shell通常使用什么?

0 投票
2 回答
77 浏览

linux - 新的linux程序员

有人可以向我解释这是什么意思吗?

我知道我们正在登录一个文件……但它到底是做什么的?尤其是1, 2,>&和一般

0 投票
0 回答
331 浏览

objective-c - Obj-C 中的伪 TTY

目前我正在为越狱的 iOS 设备开发一些命令行工具的 GUI。我正在使用 NSTask 并验证我能够捕获 stdout 和 stderr 错误并将输出打印到 UITextField。我希望运行的大多数命令都没有输出任何内容。我怀疑设置一个伪 tty 会话可以解决这个问题,但我无法找到如何在 obj-c 中设置它。我的问题是

1) 命令(即 arp-scan 和 nmap)需要 TTY 会话这听起来合理吗?2) 我将如何在 Obj-c 中设置一个虚假的 TTY 会话?

0 投票
2 回答
1657 浏览

ruby-on-rails - 如何重定向到 Web 服务器的 0.0.0.0

我正在运行一个 Rails 应用程序,它将传入的请求重定向到 0.0.0.0:3000

在我的本地机器上,它可以工作,因为我在 0.0.0.0:3000 上运行我的 mongrel 服务器,但是当我向远程服务器发出 HTTP 请求时,它会将我重定向到我的工作站的 0.0.0.0:3000 但我希望它能够恢复请求到它自己的 0.0.0.0:3000

我在 ubuntu 10.04 上使用 mongrel 1.2.0.pre2 作为网络服务器

0 投票
1 回答
252 浏览

debugging - 如何在 Xcode4 中使用标准输入重定向进行调试?

我正在制作一个命令行程序,它接受stdin. 所以我期待这种用法。

这很好用。问题是我无法stdin在 Xcode4 中指定重定向。它有执行参数,但不支持stdin重定向。它看起来逃避了所有的论点。

如何stdin在 Xcode4 中调试重定向?

0 投票
4 回答
8798 浏览

bash - bash 中的条件重定向

我有一个 bash 脚本,我想在没有附加 tty 的情况下运行时保持安静(比如来自 cron)。我现在正在寻找一种在一行中有条件地将输出重定向到 /dev/null 的方法。这是我想到的一个例子,但我会有更多的命令在脚本中输出

不幸的是,这不起作用:

我不想做的是复制带有重定向或无重定向变体中的所有命令:

编辑:

如果该解决方案能够为我提供一种以“安静”模式输出某些内容的方法,那就太好了,例如,当某些事情真的出错时,我可能想从 cron 获得通知。

0 投票
3 回答
4910 浏览

python - 从 python 重定向标准输出以进行 C 调用

这是here的一个后续问题,具体涉及其答案


从 python 模块中,我调用了一个简单地打印到标准输出的Hello World可执行文件。Hello World我有兴趣将该输出重定向到 pythonStringIO并遇到这个答案,这几乎把我带到了解决方案。

这个答案的关键部分是这个代码段:

我也想恢复重定向之前的标准输出。

问题

  1. 上面的函数到底发生了什么?
    • 什么是dupdup2做什么?
    • 是什么/dev/null
    • 8号线在做什么?( sys.stdout = os.fdopen(newstdout, 'w'))
  2. 如何将标准输出存储在StringIO对象中?
  3. 调用Hello World程序后如何恢复标准输出?

我很确定,一旦我得到问题 1 的答案,问题 2 和 3 的答案就会很容易。无论如何,我决定发布它们,以便将问题 1 的答案推向我想去的方向。