2015-11-06 99 views

回答

3

我认为只有标准输出应该在终端可见。

不正确的。 stderr是一个单独的文件描述符,但默认情况下它仍然连接到与stdout相同的tty。

1

默认情况下,stdout和stderr流都与您的显示设备相连,这就是为什么您也在屏幕上看到syserr消息的原因。

1

通常在终端中显示stdoutstderr。如果你的操作系统支持它,你可以将一个或两个重定向到其他地方。例如,您可以重定向stdout,并且您只能在终端中看到stderr(或者您可以重定向stderr,并且在终端中只能看到stdout)。

+0

我认为只有将它重定向到stdout才能看到stderr ... – Leopoldo

+1

@Leopoldo不,那会(至少在POSIX中)意味着'stdout'和'stderr'成为相同的流,而你会看到两者(或没有)。 – skyking

相关问题