(035) Linux之其他命令
十年运维系列之基础篇 - Linux
作者:曾林
版权:文章未经同意请勿转载
一、引言
本小节中将谈论一些比较琐碎零散的知识。这些知识虽然不太经常使用,但是却对特定的程序设计问题大有帮助。下面将学习这方面的内容。
二、组命令和子shell
bash允许将命令组合到一起使用,这有两种方式,一种是利用组命令,另一种是使用子shell。下面是这两种方式的语法实例。
组命令:
{ command1; command2; [command3;...] }
子shell:
(command1; command2; [command3;...])
这两种形式的区别在于,组命令使用花括号将其命令括起来,而子shell则用圆括号。指的注意的是,在bash实现组命令时,必须使用一个空格将花括号与命令分开,并且在闭合花括号前使用分号或是换行来结束最后的命令。执行结果如下图所示:
1. 执行重定向
组命令和子shell有什么用途呢?它们都可以用于管理重定向。下面让我们看一个在多个命令中执行重定向的脚本段。
1 ls -al > output.txt 2 echo "Listing of foo.txt" >> output.txt 3 cat foo.txt >> output.txt
显而易见,3条命令将输出重定向为output.txt文件。使用组命令,可以按照如下的方式编码。
{ ls -l; echo "Listing of foo.txt"; cat foo.txt; } > output.txt (ls -l; echo "Listing of foo.txt"; cat foo.txt;) > output.txt
使用这个技术,可以减少一些输入,但是组命令或子shell真正有价值的地方在于管道的使用。当创建命令管道时,通常将多条命令的结果输出到一条流中,这很有用。组命令和子shell使得这一点变得简单。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。