软件测试技术

当前位置:首页 > 软件测试技术

鸟哥的Linux私房菜 基础学习篇(第三版) (第十一章)续

(1)若/tmp/abc存在故回传$?=0.则(2因为II遇到0的轩不会进行。此时$转=0继续向后传。故(3]因为&&遇到$?=0就开始建立/tmp/abc/hehe了!最终/tmp/abc/hehe被建立起来。

整个流程图示如下:

鸟哥的Linux私房菜 基础学习篇(第三版) (第十一章)续

上面这张图显示的两股数据中,上方的线段为不存在/tmp/abc时所进行的指令行为,下方的线段则是存在/tmp/abc所在的指令行为。如上所述,下方线段由于存在/tmp/abc所以导致$?=0, 让中间的mkdir就不执行了!并将$?=0继续往后传给后续的touch去利用啦!晾乎?在任何时刻你都可以拿上面这张图作为示意!让我们来想想底下这个例题吧!

鸟哥的Linux私房菜 基础学习篇(第三版) (第十一章)续

经过这个例题的练习,你应该会了解,由于指令是一个接着一 个去执行的 ,因此,如果真要使用判断,那么这个&&与II的顺序就不能搞错。-般来说,假设判断式有三个,也就是:

command1 & command2 II command3

而且顺序通常不会变,因为般来说,command2 与command3会放置肯定可以执行成功的指令,因此,依据上面例题的逻辑分析,您就会晓得为何要如此放置哆~这很有用的啦!而...考试也很常考~

管线命令(pipe)

就如同前面所说的,bash 命令执行的时候有输出的数据会出现!那么如果这群数据必需要经过几道手续之后才能得到我们所想要的格式,应该如何来设定?这就牵涉到管线命令的问题了(pipe) , 管线命令使用的是[|这个界定符号!另外,管线命令与「连续下达命令」是不一一样的呦!这点底下我们会再说明。底下我们先举一个例子来说明一 下简单的管线命令。

假设我们想要知道/etc/底下有多少档案,那么可以利用Is /etc来查阅,不过,因为/etc底下的档案太多,导致一口气就将屏幕塞满了~不知道前面输出的内容是啥?此时,我们可以透过less指令的协助,利用:

鸟哥的Linux私房菜 基础学习篇(第三版) (第十一章)续

如此一来,使用Is指令输出后的内容,就能够被less读取,并且利用less的功能,我们就能够前后翻动相关的信息了!很方便是吧?我们就来了解一下这个管线命令 I」的用途吧!其实这个管线命令仅能处理经由前面一 个指令传来的正确信息,也就是standard output的信息,对于 stdandarderror并没有直接处理的能力。那么整体的管线命令可以使用下图表示:

鸟哥的Linux私房菜 基础学习篇(第三版) (第十一章)续

在每个管线后面接的第一个数据必定是「指令」喔!而且这个指令必须要能够接受standard input的数据才行,这样的指令才可以是为[管线命令」, 例如less, more, head, tail等都是可以接受standardinput的管线命令啦。至于例如Is, cp, mv等就不是管线命令了!因为Is, cp, mv并不会接受来自stdin的数据。也就是说,管线命令主要有两个比较需要注意的地方:

管线命令仅会处理standard output ,对于standard error output会予以忽略

●管线命令必须要能够接受来自前一 个指令的数据成为standard input继续处理才行。

多说无益,让我们来玩一些管线命令吧 !底下的咚咚对系统管理非常有帮助喔!


相关内容

文章评论

表情

共 0 条评论,查看全部
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~