今天發(fā)現(xiàn)一個(gè)腳本運(yùn)行后狂暴輸出在屏幕上,哇哦,驚蟄了!
詢問了師姐,師姐用標(biāo)準(zhǔn)輸出解決了,讓我恍然大悟,之前學(xué)的顯然忘記了。
Linux運(yùn)行程序時(shí),通常會(huì)從鍵盤獲取輸入,然后運(yùn)行后將結(jié)果返回到終端上,這就是標(biāo)準(zhǔn)的輸入輸出。標(biāo)準(zhǔn)輸入輸出的數(shù)據(jù)流動(dòng)方向,標(biāo)準(zhǔn)輸入:數(shù)據(jù)流動(dòng)方向從鍵盤到程序;標(biāo)準(zhǔn)輸出:數(shù)據(jù)流動(dòng)方向從程序到終端。
1.2 標(biāo)準(zhǔn)輸入輸出重定向的命令
| 類型 | 符號(hào) | 作用 |
|---|---|---|
| 標(biāo)準(zhǔn)輸入重定向 | command<file | 講file文件中內(nèi)容作為command的輸入 |
| command<file1>file2 | 講file1作為command的輸入,并且將command的處理結(jié)果輸出到file2 | |
| command<<END | 從標(biāo)準(zhǔn)輸入中讀取數(shù)據(jù),知道遇見分界符END才停止。(分界符可自己定義) | |
| 標(biāo)準(zhǔn)輸出重定向 | command>file | 覆蓋的方式輸出到文件中 |
| command>>file | 追加的方式輸出到文件中 | |
| 標(biāo)準(zhǔn)錯(cuò)誤輸出重定向 | command 2>file | 覆蓋的方式將錯(cuò)誤輸出到文件中 |
| command 2>>file | 追加的方式將錯(cuò)誤輸出到文件中 | |
| 正確輸出和錯(cuò)誤信息同時(shí)保存 | command>file 2>&1 | 以覆蓋的方式,把正確輸出和錯(cuò)誤信息同時(shí)保存到同一個(gè)文件中 |
| command>>file 2>&1 | 以追加的方式,把正確輸出和錯(cuò)誤信息同時(shí)保存到同一個(gè)文件中 | |
| command>file1 2>file2 | 以覆蓋的方式,把正確輸出輸出到file1中,錯(cuò)誤信息輸出到file2 中 | |
| command>>file1 2>>file2 | 以追加的方式,把正確輸出輸出到file1中,錯(cuò)誤信息輸出到file2 中 |
注:
(1) > 和 1> ,> 和 2> 的區(qū)別?
> 是 1> 的簡寫,習(xí)慣會(huì)將 1 省去,直接寫成 > ; > 或者 1> 都表示將正確信息輸出。
> 是將正確信息輸出;2> 是將錯(cuò)誤信息輸出;1 和 2 對(duì)應(yīng)了文件描述符。
(2)> 和 >> 的區(qū)別?
> 以覆蓋的方式輸出; >> 以追加的方式輸出。
(3)在書寫 2> 或者 2>> 時(shí),數(shù)字和符號(hào)中間不能有空格。
(4) 2>&1
我覺得這個(gè)表格太好了呀,清晰而且顯而易見,哈哈哈哈
給我碼?。。。?!
沖?。。?/p>