bash中2>&1&的解釋-創(chuàng)新互聯(lián)

[root@localhost qiancheng]# cat 20170223_update.txt | wc -c

十年專注成都網(wǎng)站制作,成都定制網(wǎng)頁設(shè)計,個人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識、方案,網(wǎng)站設(shè)計流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù),專注于成都定制網(wǎng)頁設(shè)計,高端網(wǎng)頁制作,對成都報廢汽車回收等多個方面,擁有多年的網(wǎng)站設(shè)計經(jīng)驗。

22475

[root@localhost qiancheng]#

1、首先,bash中0,1,2三個數(shù)字分別代表STDIN_FILENO、STDOUT_FILENO、STDERR_FILENO,即標(biāo)準(zhǔn)輸入(一般是鍵盤),標(biāo)準(zhǔn)輸出(一般是顯示屏,準(zhǔn)確的說是用戶終端控制臺),標(biāo)準(zhǔn)錯誤(出錯信息輸出)。

2、輸入輸出可以重定向,所謂重定向輸入就是在命令中指定具體的輸入來源,譬如 cat < test.c 將test.c重定向為cat命令的輸入源。輸出重定向是指定具體的輸出目標(biāo)以替換默認(rèn)的標(biāo)準(zhǔn)輸出,譬如ls > 1.txt將ls的結(jié)果從標(biāo)準(zhǔn)輸出重定向為1.txt文本。有時候會看到如 ls >> 1.txt這類的寫法,> 和 >> 的區(qū)別在于:> 用于新建而>>用于追加。即ls > 1.txt會新建一個1.txt文件并且將ls的內(nèi)容輸出到新建的1.txt中,而ls >> 1.txt則用在1.txt已經(jīng)存在,而我們只是想將ls的內(nèi)容追加到1.txt文本中的時候。

3、默認(rèn)輸入只有一個(0,STDIN_FILENO),而默認(rèn)輸出有兩個(標(biāo)準(zhǔn)輸出1 STDOUT_FILENO,標(biāo)準(zhǔn)錯誤2 STDERR_FILENO)。因此默認(rèn)情況下,shell輸出的錯誤信息會被輸出到2,而普通輸出信息會輸出到1。但是某些情況下,我們希望在一個終端下看到所有的信息(包括標(biāo)準(zhǔn)輸出信息和錯誤信息),要怎么辦呢?

      對了,你可以使用我們上面講到的輸出重定向。思路有了,怎么寫呢? 非常直觀的想法就是2>1(將2重定向到1嘛),行不行呢?試一試就知道了。我們進(jìn)行以下測試步驟:

1)mkdir test && cd test               ; 創(chuàng)建test文件夾并進(jìn)入test目錄

2)touch a.txt b.c c                         ; 創(chuàng)建a.txt b.c c 三個文件

3)ls > 1                                          ; 按我們的猜測,這句應(yīng)該是將ls的結(jié)果重定向到標(biāo)準(zhǔn)輸出,因此效果和直接ls應(yīng)該一樣。但是實際這句執(zhí)行后,標(biāo)準(zhǔn)輸出中并沒有任何信息。

4)ls                                                 ; 執(zhí)行3之后再次ls,則會看到test文件夾中多了一個文件1

5)cat 1                                           ; 查看文件1的內(nèi)容,實際結(jié)果為:1 a.txt b.c c    可見步驟3中 ls > 1并不是將ls的結(jié)果重定向為標(biāo)準(zhǔn)輸出,而是將結(jié)果重定向到了一個文件1中。即1在此處不被解釋為STDOUT_FILENO,而是文件1。

4、到了此時,你應(yīng)該也能猜到2>&1的用意了。不錯,2>&1就是用來將標(biāo)準(zhǔn)錯誤2重定向到標(biāo)準(zhǔn)輸出1中的。此處1前面的&就是為了讓bash將1解釋成標(biāo)準(zhǔn)輸出而不是文件1。至于最后一個&,則是讓bash在后臺執(zhí)行。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)站題目:bash中2&gt;&1&的解釋-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://muchs.cn/article6/dgicog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、服務(wù)器托管手機網(wǎng)站建設(shè)、用戶體驗、企業(yè)網(wǎng)站制作、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)