顺序执行与选择执行
顺序执行
使用 ;
顺序执行指令。
$ sudo apt-get update;sudo apt-get install some-tool;some-tool
# 让它自己运行
选择执行
使用 &&
。只有前面执行的 $?
(环境变量,表示命令执行结果,0为成功执行,1为不成功执行)返回0,才会执行后面的语句。
||
可发挥与 &&
相反作用,当上一句命令返回为非0 结果时,才会执行后面的语句。
总结
管道
通过重定向命令,我们可以实现将一个命令的输出作为另外一个命令的输入进行处理。
$ date > test7.txt
$ wc < test7.txt
1 6 29
但这样有时会略显臃肿,因为我们必须先将命令重定向到文件,再从文件中输入到新的命令上。
而管道
提供了一种新的选择。我们可以将命令输出的结果既不输出到显示器上,也不将其重定向到某个文件,而是将其重定向到另一个命令,该过程称为管道连接piping
。而该过程中第一个命令输出的同时,会立即送给第二个命令,因此也不会用到任何的缓冲。
管道符号为|
,但实际上,其符号由两个竖线构成,一个在另一个的上面。
$ date|wc
1 6 29
我们还可以使用多个管道。
$ ls -l |sort -r|less
我们还可以搭配重定向符号,将管道连接的命令的输出结果,保存到文件中。
$ ls -l|wc > test.list
ps:管道比较流行的使用方法便是将大量的输出结果搭配more
或者less
的文本查阅命令使用,这样可以更好的阅读大量的输出结果。