1> 和 > 之间的区别

1> 和 > 之间的区别

(# 条评论取自文档

command > filename  # Docs: Redirect stdout to a file.

command 1> filename # Docs: Redirect stdout to file "filename."

答案1

Bash 手册中有关重定向的部分(强调我的):

输出重定向导致文件名由扩展产生单词打开以在文件描述符上写入n, 或者标准输出(文件描述符 1)如果n未指定。如果文件不存在则创建;如果它确实存在,则会被截断为零大小。

>foo所以,和之间没有区别1>foo

答案2

标准输出是隐式文件描述符(如果未列出),因此它们实际上是相同的东西。使用1>不是我见过的风格。

% grep _FILENO /usr/include/unistd.h 
#define  STDIN_FILENO   0       /* standard input file descriptor */
#define STDOUT_FILENO   1       /* standard output file descriptor */
#define STDERR_FILENO   2       /* standard error file descriptor */

相关内容