Bash

1> 和 > 之間的區別

  • March 18, 2016

(#評論取自文件)之間有什麼區別嗎

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

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

Bash 手冊的重定向部分(強調我的):

輸出重定向會導致打開其名稱來自word擴展的文件,以便在文件描述符n上寫入,或者如果未指定n ,則打開標準輸出(文件描述符 1)。如果文件不存在,則創建它;如果確實存在,則將其截斷為零大小。

>foo因此,和之間沒有區別1>foo

如果未列出標準輸出,則它是隱式文件描述符,因此它們實際上是同一件事。使用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 */

引用自:https://unix.stackexchange.com/questions/270552