

























在Unix/Linux系统中,错误重定向和标准输出重定向的语法如下:
标准输出重定向(将标准输出保存到文件):
1 | |
这将 command 的标准输出重定向到名为 file 的文件中。如果文件不存在,它将被创建;如果文件已经存在,它将被覆盖。
标准错误重定向(将标准错误保存到文件):
1 | |
这将 command 的标准错误重定向到名为 file 的文件中。
同时重定向标准输出和标准错误到同一个文件:
1 | |
这将 command 的标准输出和标准错误都重定向到名为 file 的文件中。2>&1 表示将标准错误重定向到与标准输出相同的地方。
在标准输出和标准错误都附加到同一个文件(不会覆盖):
1 | |
这将 command 的标准输出和标准错误都附加到名为 file 的文件中,而不覆盖文件内容。
丢弃标准输出或标准错误:
丢弃标准输出:
1 | |
丢弃标准错误:
1 | |
同时丢弃标准错误和标准输出,使用如下的语法:
1 | |
这将把 command 的标准输出(1)重定向到 /dev/null,同时将标准错误(2)重定向到与标准输出相同的位置。结果是标准输出和标准错误都将不会在终端显示,也不会保存到文件中。
command > /dev/null 2>&1 和 &>/dev/null 都可以用来将标准输出和标准错误重定向到 /dev/null,从而达到静默化输出的目的。
command > /dev/null 2>&1 使用两个不同的重定向操作符,首先将标准输出重定向到 /dev/null,然后再将标准错误重定向到与标准输出相同的位置。&>/dev/null 使用一个单一的重定向操作符,将标准输出和标准错误一起重定向到 /dev/null。从功能上来说,两者是等效的,它们都可以实现相同的效果。
但在可读性方面,&>/dev/null 更加简洁,因为它一次性将标准输出和标准错误都重定向到相同的地方,而不需要多个操作符。
(完)
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。