重定向命令

重定向命令

以下两者有何区别:

命令 > 文件名 2>&1

命令 2>&1 > 文件名

为什么例如(假设没有xxx文件)。

ls xxx > 1.txt 2>&1

工作时

ls xxx 2>&1> 1.txt

没有?

答案1

重定向的顺序很重要。例如,命令

ls > dirlist 2>&1

将标准输出(文件描述符 1)和标准错误(文件描述符 2)定向到文件 dirlist,而命令

ls 2>&1 > dirlist

仅将标准输出定向到文件 dirlist,因为在将标准输出重定向到 dirlist 之前,标准错误已成为标准输出的副本。

(引自Bash 参考手册

相关内容