下面的两个shell命令在什么情况下不会创建相同的内容“text_files.txt”?

下面的两个shell命令在什么情况下不会创建相同的内容“text_files.txt”?
  1. ls *.txt > text_files.out
  2. ls *.txt >& text_files.out

我的答案是当目录中有一个或多个扩展名为“.txt”的文件时

答案1

>和之间的区别>&

  • >将标准输出重定向到文件
  • >&将 stdout 和 stderr 重定向到一个文件

因此,当发生错误时,ls *.txt > text_files.out不会向 输出任何内容text_files.out,但ls *.txt >& text_files.out会向 输出错误消息text_files.out

答案2

当找不到名为 *.txt 的文件时,结果会有所不同。

相关内容