(#個のコメントは以下から取得しました。文書)
command > filename # Docs: Redirect stdout to a file.
そして
command 1> filename # Docs: Redirect stdout to file "filename."
答え1
~からリダイレクトの Bash マニュアルセクション(強調):
出力リダイレクトにより、ファイル名が拡張子として生成されます。言葉ファイル記述子に書き込むために開くNまたはstdout(ファイル記述子 1) ifN指定されていない。ファイルが存在しない場合は作成され、存在する場合はゼロサイズに切り捨てられます。
>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 */