課程
/運(yùn)維&測(cè)試
/Linux
/ Linux達(dá)人養(yǎng)成計(jì)劃 I
rt
管道符前面的命令錯(cuò)誤時(shí),后面命令還會(huì)執(zhí)行嗎, 還是會(huì)直接報(bào)錯(cuò)?
2015-09-01
源自: Linux達(dá)人養(yǎng)成計(jì)劃 I 9-6
正在回答
管道會(huì)將前面命令的標(biāo)準(zhǔn)輸入當(dāng)作后面命令的標(biāo)準(zhǔn)輸入。一般程序錯(cuò)誤時(shí)是沒(méi)有標(biāo)準(zhǔn)輸出的,其錯(cuò)誤信息會(huì)送到標(biāo)準(zhǔn)錯(cuò)誤輸出。
通常shell會(huì)啟動(dòng)前一個(gè)程序,并通過(guò)系統(tǒng)調(diào)用讀取它的輸出,再通過(guò)系統(tǒng)調(diào)用啟動(dòng)后一個(gè)程序,通過(guò)管道向后一個(gè)程序的標(biāo)準(zhǔn)輸入進(jìn)行輸出。出錯(cuò)時(shí)如何處理應(yīng)該是依照各shell實(shí)現(xiàn)而定。bash中是后續(xù)程序仍然執(zhí)行,但不會(huì)獲得任何輸入。
所以后一個(gè)程序會(huì)執(zhí)行,且你應(yīng)該能在屏幕上看到前一個(gè)程序的錯(cuò)誤輸出。
另外,一般整個(gè)管道的返回狀態(tài)是最后一個(gè)命令的退出狀態(tài)。
五月_星空 提問(wèn)者
onemoo 回復(fù) 五月_星空 提問(wèn)者
五月_星空 提問(wèn)者 回復(fù) onemoo
舉報(bào)
Linux入門(mén)視頻教程,以通俗易懂的語(yǔ)言帶你感受linux之美
1 回答安裝Nginx時(shí),執(zhí)行make命令報(bào)錯(cuò)
3 回答find 命令中的-exec命令報(bào)錯(cuò)?
4 回答寫(xiě)入命令報(bào)錯(cuò)
3 回答運(yùn)行某些命令后信息太多直接翻頁(yè)了,如何看到前面的信息?(虛擬機(jī)內(nèi)運(yùn)行命令,非XShell)
2 回答關(guān)于命令行后面/輸入的問(wèn)題?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢(xún)優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2015-09-02
管道會(huì)將前面命令的標(biāo)準(zhǔn)輸入當(dāng)作后面命令的標(biāo)準(zhǔn)輸入。一般程序錯(cuò)誤時(shí)是沒(méi)有標(biāo)準(zhǔn)輸出的,其錯(cuò)誤信息會(huì)送到標(biāo)準(zhǔn)錯(cuò)誤輸出。
通常shell會(huì)啟動(dòng)前一個(gè)程序,并通過(guò)系統(tǒng)調(diào)用讀取它的輸出,再通過(guò)系統(tǒng)調(diào)用啟動(dòng)后一個(gè)程序,通過(guò)管道向后一個(gè)程序的標(biāo)準(zhǔn)輸入進(jìn)行輸出。出錯(cuò)時(shí)如何處理應(yīng)該是依照各shell實(shí)現(xiàn)而定。bash中是后續(xù)程序仍然執(zhí)行,但不會(huì)獲得任何輸入。
所以后一個(gè)程序會(huì)執(zhí)行,且你應(yīng)該能在屏幕上看到前一個(gè)程序的錯(cuò)誤輸出。
另外,一般整個(gè)管道的返回狀態(tài)是最后一個(gè)命令的退出狀態(tài)。