亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

bash中 2>&1 & 的解釋

發布時間:2020-08-10 22:30:27 來源:網絡 閱讀:331 作者:zhaozhangxiao 欄目:開發技術

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

22475

[root@localhost qiancheng]# 


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

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

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

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

1)mkdir test && cd test                ; 創建test文件夾并進入test目錄

2)touch a.txt b.c c                          ; 創建a.txt b.c c 三個文件

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

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

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

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


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

哈巴河县| 新绛县| 通海县| 巫山县| 克山县| 汉阴县| 正安县| 玛纳斯县| 和静县| 光山县| 布拖县| 治县。| 闽侯县| 南汇区| 收藏| 枝江市| 涿鹿县| 综艺| 神农架林区| 多伦县| 玛多县| 昌黎县| 武宣县| 古浪县| 苗栗市| 东丽区| 郓城县| 吴旗县| 大城县| 寻甸| 满城县| 曲麻莱县| 稷山县| 香港| 平山县| 金沙县| 张家川| 潞城市| 体育| 双柏县| 姜堰市|