Bash:>和>>运算符之间的区别?[关闭]


37

我是新手,对bash不太了解。我的讲师要求我做cat脚本并观察输出,然后告诉我什么是>运算符,以及>&>>运算符有什么区别?而且我找不到任何辩解。所以,请帮忙:)


您可以摆弄临时文件以获取>>和>之间的区别。
2010年

Answers:


60

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

>>会附加到文件中,如果文件不存在,则会创建文件。
>将覆盖文件(如果存在)或创建文件(如果不存在)。

无论哪种情况,程序的输出都存储在文件中,该文件的名称在重定向操作符之后提供。

示例:
$ ls > allmyfiles.txt创建文件“ allmyfiles.txt”,并使用ls命令中的目录列表填充该文件

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

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


3
更多的IO重定向很棒
Tim

0

=> th>运算符用于覆盖文件(如果存在),否则将创建新文件EX cat> example1 =>如果文件'example1'存在,它将被覆盖,否则创建新文件=> >>运算符用于附加文件结尾EX cat >> example1


4
这与先前发布的andyh_ky完全相同。重复上一个答案是没有意义的。添加毫无意义的评论也没有意义。
约翰·加迪尼尔

-4

无法找到bash的手册页?只需在命令提示符下键入man bash即可


您可以尝试在评论中添加有用的内容。他们只是有一篇关于RTFM样式答案的博客文章blog.serverfault.com/post/1306724710/rtfm 也许您会提到>和>>运算符用于IO重定向tldp.org/LDP/abs/html/io -redirection.html同样,<用于将文件读入标准输入。
Tim Bielawa 2010年

我同意@Tim。我都赞成“教人钓鱼”的学习方法。但是,在这种情况下,尤其是对于初学者,指示输出重定向器由用户的外壳程序处理。
EEAA 2010年

-1,因为bash手册页是我必须定期处理的最难遵循的手册之一。
Sparr

哦,加油!这不是RTFM!您可以转到bash的联机帮助页(我提供了指向该链接的链接),按ctrl-F并键入>>,它显示的第一件事是>> Plus的用法,这个问题是作业:我们回答作业了吗(或由我们回答)?
adamo

如何告诉他寻找“ bash手册”而不是“阅读F ******手册”的情况?甚至还有手册一词!
山姆·科根
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.