Questions tagged «stderr»

标准错误是程序通常用于输出错误消息或诊断的另一种输出流。

2
在ssh -t上的stderr
这会将输出发送到STDERR,但不会传播Ctrl+ C(即Ctrl+ C将杀死ssh但不会杀死remote sleep): $ ssh localhost 'sleep 100;echo foo ">&2"' 这会传播Ctrl+ C(即Ctrl+ C将杀死ssh并远程sleep发送),但会将STDERR发送到STDOUT: $ ssh -tt localhost 'sleep 100;echo foo ">&2"' 在仍然传播Ctrl+的同时,如何强制第二个将STDERR输出发送到STDERR C? 背景 GNU Parallel使用'ssh -tt'来传播Ctrl+ C。这样可以杀死远程运行的作业。但是发送到STDERR的数据应在接收端继续发送到STDERR。

3
`>> / dev / stderr`(带有空格)和`>&2`有什么区别?
猛扑 我在确定应该使用什么方面遇到一些困难? 我所有的脚本都使用“ >> / dev / stderr” 在bash提示下,如果我尝试: echo test >>/dev/stderrworks echo test >> /dev/stderrworks echo test >/dev/stderrworks echo test > /dev/stderrworks echo test >>&2失败! echo test >> &2失败! echo test >&2作品 echo test > &2失败! 我愿意将所有脚本更改为>&2。 它对ssh似乎也有很大的影响(在之后su SomeUser),在ssh >>/dev/stderr根本不起作用(权限被拒绝),只会>&2起作用。

3
发送输出到/ dev / stderr vs.>&2
在脚本中,错误通常使用传送到文件描述符2 &2,即: echo "error" >&2 有时/dev/stderr代替使用: echo "error" > /dev/stderr 看一下/dev/stderr,我发现它只是到的符号链接/proc/self/fd/2,而这又是到/dev/pts/5(在我当前的终端上)的符号链接。 似乎有点复杂。这背后有逻辑吗? 是使用/dev/stderr和&2等价吗? 是那些比其他的首选吗?


1
`docker logs foo | less不可搜索或不可滚动,但docker logs foo 2>&1 | 更少`是
使用任何一个都可以阅读文本。但是只有使用stderr重定向,才能滚动或键入/ somepattern并获得匹配项。 没有它,搜索将给出“没有要搜索的内容(按RETURN)”和〜的列。 既然,stderr和stdout是不一样的,但是为什么直到我开始用更少的东西做完之后,为什么stderr和stdout却不显示它们相同? 这也许是一些我不理解的奇怪的多窗口vim东西。有什么想法吗?
10 pipe  less  stdout  stderr 

1
在STDERR之前显示STDOUT?
我是bash的新手,我一生都./fff无法解决如何在stderr之前运行某个命令,假设并打印常规stdouts(我对自己的含义感到困惑) 例如 $ printf "I am a\ndrill\n" > fff; $ cat fff nofile fff nofile fff I am a drill cat: nofile: No such file or directory I am a drill cat: nofile: No such file or directory I am a drill 需要打印如下: I am a drill I am a …

2
何时在命令行应用程序中使用标准错误流?
编写命令行应用程序时,何时有使用错误的准则?令我惊讶的是,在谷歌搜索时没有发现任何东西。 特别是,我现在关心的问题是是使用stdout还是stderr何时用户使用非法参数调用程序。但是,非常感谢您提供一个更全面的答案,因为这肯定不是唯一需要明确规则才能编写出符合用户期望的行为的程序的情况。

1
可以将stdout和stderr重定向到同一文件行吗?
我读过的重定向时stdout和stderr同一个文件使用2>&1,stdout通常,嵌段缓冲,而stderr不是缓冲。 如果将很长的行写入stdout,需要两次单独的缓冲区刷新,stderr中间发生滑动的行会发生吗?像这样: stdout: aaaaaaaa.....really long line......aaaaaaaaaaaa<newline> stderr: eee<newline> combined: aaaaaaaaaaaaaaaaeee<newline> aaaaaaa<newline>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.