日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

深度學(xué)習(xí)pipeline提速10倍,pipelines

【深度學(xué)習(xí)pipeline提速10倍,pipelines】
Linux中,如何取得pipeline中每一個(gè)命令的返回值?

深度學(xué)習(xí)pipeline提速10倍,pipelines


老胡的看法:pipeline是我們使用Linux的日常操作,一般來說使用pipeline是為了簡(jiǎn)化交互流程,目的在于得到最后的結(jié)果 。缺點(diǎn)就是在設(shè)計(jì)pipeline語句的時(shí)候,只能看到最后的輸出值,不太方便調(diào)試 。老胡在這里給出幾個(gè)辦法,可以輸出pipeline中每一個(gè)階段語句的返回值:一、使用shell選項(xiàng)pipefailpipefail是ksh、zsh和bash中都使用的一個(gè)shell選項(xiàng),它的作用是告訴shell輸出pipeline中未成功執(zhí)行返回的其它狀態(tài)值 。
這大概是最簡(jiǎn)單最方便的一個(gè)方式了 。不過這個(gè)方法的缺點(diǎn)是只能輸出pipeline中最后一段返回值不為0的值 。使用的方法是在shell中用set指令指定這個(gè)選項(xiàng):set -o pipefail二、使用shell變量$PIPESTATUSshell有一個(gè)內(nèi)置變量,它是一個(gè)數(shù)組,用來存放pipeline中每一段的返回狀態(tài),bash中的變量名字是大寫,zsh中是小寫的$pipestatus 。
如果我們想獲取pipeline中每一段的返回狀態(tài),只需要按照訪問數(shù)組的方式訪問$PIPESTATUS就可以了 。如果想要得到所有段的返回值,數(shù)組下標(biāo)使用@:三、利用輸出重定向在多段pipeline中,我們還可以利用打印語句和輸出重定向來實(shí)現(xiàn)每一段的pipeline返回值輸出 。具體思路是:打開1個(gè)文件描述符,并重定向到標(biāo)準(zhǔn)輸出;設(shè)計(jì)pipeline,將需要的段中命令返回值輸出到新描述符;其余段的命令返回值均使用類似的方式輸出到新描述符;將新描述符重定向到先前聲明的描述符;比如:總結(jié)一下,關(guān)于pipeline各段命令返回值的輸出,老胡大致上就這么幾個(gè)思路了 。

    推薦閱讀