inBash为初学者介绍了尖括号。Bash有许多重要的内置命令,例如ls、cd和mv,还有许多有用的工具,例如grep、awk和sed。但是除此之外,在Bash中其实还有很多可以起到胶水作用的标点符号,比如点号(.)、逗号(,)、括号(<>)、引号(")之类的。下面我们来拿一个看看尖括号(<>)可以用来转换和传递数据,如果你了解其他编程语言,你就会知道尖括号<和>一般用作逻辑运算符来比较两个之间的大小关系values。如果你也写HTML,作为各种标签的一部分的尖括号对你来说一定不会陌生。在shell脚本语言中,尖括号可以将数据从一个地方传输到另一个地方。例如,你可以将数据存储在一个文件中this:ls>dir_content.txt在上面的例子中,>符号告诉shell将ls命令的输出写入dir_content.txt,而不是直接在命令行显示。需要注意的是,如果dir_content.txt文件不存在,Bash会为你创建它;但是如果dir_content.txt是一个已存在的非空文件,其内容将被覆盖。所以在执行类似操作之前要小心。您也可以使用>>代替>,这样新数据可以追加到文件末尾,而不会覆盖文件中的现有数据。例如:ls$HOME>dir_content.txt;wc-ldir_content.txt>>dir_content.txt在这串命令中,先将home目录的内容写入dir_content.txt文件,然后用wc-l计算dir_content.txt文件的行数(即主目录中的文件数)并追加到dir_content.txt的末尾。在我的机器上执行完上面的命令后,dir_content.txt的内容如下:ApplicationsbincloudDesktopDocumentsDownloadsGamesISOsliblogsMusicOpenSCADPicturesPublicTemplatestest_dirVideos17dir_content.txt你可以把>和>>理解为箭头。当然,这个箭头的方向也可以反过来。比如科恩兄弟(LCTT译注:科恩兄弟,美国电影导演组合)的一些演员,在CBActors文件中保存的是他们在电影中出现的次数,像这样:JohnGoodman5JohnTurturro3GeorgeClooney2FrancesMcDormand6SteveBuscemi5JonPolito4TonyShalhoub3JamesGandolfini1你可以执行这个命令:sort
