Bash:> 和 >> 运算符之间的区别?

jum*_*o18 54 unix bash

我对 bash 了解不多。

我的导师让我制作一个 cat 脚本并观察输出,然后告诉我什么是运算符 > 以及运算符 > & >> 之间的区别是什么。

我找不到任何理由。你能帮忙吗?

and*_*hky 81

>符号用于将程序的输出重定向到 stdout 以外的其他内容(标准输出,默认为终端)。

>>追加到一个文件或创建文件,如果它不存在。
>如果存在或创建它,如果它不存在覆盖该文件。

在任何一种情况下,程序的输出都存储在名称在重定向运算符之后提供的文件中。

示例:
$ ls > allmyfiles.txt创建文件“allmyfiles.txt”并用来自 ls 命令的目录列表填充它

$ echo "End of directory listing" >> allmyfiles.txt 将“目录列表结束”添加到文件“allmyfiles.txt”的末尾

$ > newzerobytefile 创建一个名为“newzerobytefile”的新零字节文件或覆盖同名的现有文件(使其大小为零字节)

  • 更多 IO 重定向真棒:http://tldp.org/LDP/abs/html/io-redirection.html (4认同)