青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Prayer

在一般中尋求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

關(guān)于>&2、2>&1等重定向的詳細解釋

Posted on 2009-06-05 20:50 Prayer 閱讀(267) 評論(0)  編輯 收藏 引用 所屬分類: Shell
在POSIX shell中,命令的結(jié)果可以通過%>;的形式來定義(其中%表示文件描述符:1為標準輸出stdout、2為標準錯誤stderr)!系統(tǒng)默認%值是1,也就是1>;,而1>;可以簡寫為>;,也就是默認為>;。而stdout的默認目標是終端(這點不用驗證吧)。另外,stderr的默認目標我個人認為也是終端,比如:
#abcddcba
sh: abcddcba: not found.
錯誤信息顯示在終端上(對于telnet、dtterm等,那就說虛擬終端了)。

==============實驗環(huán)境==============
#mkdir redtest
#cd redtest
#mkdir a4
#touch a1 a2 a3 

==============簡單試驗==============
#ls >;redout.lst (等同于ls 1>;redout.lst,標準輸出重定向)
系統(tǒng)先執(zhí)行>;redout.lst,生成一個空文件,然后系統(tǒng)執(zhí)行l(wèi)s,再把結(jié)果重定向到redout.lst。這時在終端看不到任何信息,但是#more redout.lst可以看到a1、a2、a3、a4和redout.lst。
#./ourgame 2>;rederr.lst (標準錯誤重定向)
因為系統(tǒng)找不到執(zhí)行腳本ourgame,產(chǎn)生錯誤,但并不是顯示在終端上,而是把錯誤信息重定向到了rederr.lst。
#more rederr.lst
sh: ourgame: not found.
==============組合試驗==============
#rm rederr.lst
#rm redout.lst
#vi conj
#!/usr/bin/sh
#Email:webmaster@myhpux.com
for FN in `ls`
do
if [[ -f $FN ]]
then
echo $FN
else
cp $FN $FN.new
fi
done
//conj的作用是執(zhí)行以后產(chǎn)生標準輸出(echo)和標準錯誤(cp)
#chmod 755 conj
看看一下命令的結(jié)果:
#./conj 
a1 //stdout
a2 //stdout
a3 //stdout
cp: a4: is a directory. Need "-R" option.//stderr
conj //stdout
再試試重定向的結(jié)果:
(1)、輸出重定向到文件a1,終端上只能看到標準錯誤:
#./conj >;a1
#./conj 1>;a1
#more a1 
a1
a2
a3
conj
(2)、錯誤重定向到文件a1,終端上只能看到標準輸出:
#./conj 2>;a1
#more a1
cp: a4: is a directory. Need "-R" option.
(3)、把標準輸出和標準錯誤都重定向到a1,終端上看不到任何信息:
#./conf >;a1 2>;&1 (等同于#./conf 1>;a1 2>;&1)
#more a1
a1
a2
a3
cp: a4: is a directory. Need "-R" option.
conj
//其中&的意思,可以看成是“The same as”、“與...一樣”的意思。本例中就是2>;和1>;一樣,都輸出到a1中。
再看一個例子:
#./conj 2>;&1 >;a1
同樣可以解釋為2>;和1>;一樣,但是這時1>;是系統(tǒng)默認輸出到終端,所以標準錯誤也輸出到終端;然后,系統(tǒng)把標準輸出重定向到文件a1。

記得unixpianpianMM有個問題:
echo "Usage $0 -d" >;&2
那么可以解釋為echo "Usage $0 -d" 1>;&2
也就是把結(jié)果輸出到和標準錯誤一樣;之前如果有定義標準錯誤重定向到某log文件,那么標準輸出也重定向到這個log文件。

以上腳本在HP-UX11.00 L2000通過!所有定義、名詞均建立在本人的實踐和本人所了解的知識上,如有錯誤,請指正,謝謝!!!





 wangrujun 回復(fù)于:2002-11-23 09:39:08

經(jīng)典!


 playboy 回復(fù)于:2003-03-03 20:11:39

Bourne和Korn shell中的重定向
從文件輸入                                                       <file or 0<file
將標準輸出重定向為文件                                    >;file or 1>;file
將標準錯誤重定向為文件                                     2>;file
將標準輸出追加到文件                                        >;>;file
將標準錯誤重定向為標準輸入                              2>;&amp;1
將第一個命令的輸入作為第二個文件的輸入          cmd1|cmd2
將第一個文件即作為標準輸入也作為標準輸出       <>;file
關(guān)閉標準輸入                                                    0<&amp;-
關(guān)閉標準輸出                                                    1>;&amp;-
關(guān)閉標準錯誤                                                    2>;&amp;-


 uman 回復(fù)于:2003-03-05 01:30:05

"stderr的默認目標我個人認為也是終端"
就是這樣的,而且是unbuffered.


 yhuang95411 回復(fù)于:2004-03-04 02:27:55

:mrgreen:  :mrgreen:  :mrgreen:  :mrgreen:  :mrgreen: 
但是缺乏比如說
2>;&3, 1>;&3, 3>;1&, 3>;&2
的解釋

誰能補全???


 wingger 回復(fù)于:2004-11-14 14:00:43

引用:#./conj 2>;&1 >;a1 
同樣可以解釋為2>;和1>;一樣,但是這時1>;是系統(tǒng)默認輸出到終端,所以標準錯誤也輸出到終端;然后,系統(tǒng)把標準輸出重定向到文件a1。 

記得unixpianpianMM有個問題: 
echo "Usage $0 -d" >;&2 
那么可以解釋為echo "Usage $0 -d" 1>;&2 
也就是把結(jié)果輸出到和標準錯誤一樣;之前如果有定義標準錯誤重定向到某log文件,那么標準輸出也重定向到這個log文件。

 

引用:原帖由 "網(wǎng)中人" 發(fā)表:
$
 ls my.file no.such.file 1>;file.both 2>;file.both 
從 file system 的角度來說,單一檔案在單一時間內(nèi),只能被單一的 FD 作寫入。 
假如 stdout(1) 與 stderr(2) 都同時在寫入 file.both 的話, 
則要看它們在寫入時否碰到同時競爭的情形了,基本上是"先搶先贏"的原則。 
讓我們用周星馳式的"慢鏡頭"來看一下 stdout 與 stderr 同時寫入 file.out 的情形好了: 
* 第 1, 2, 3 秒為 stdout 寫入 
* 第 3, 4, 5 秒為 stderr 寫入 
那么,這時候 stderr 的第 3 秒所寫的數(shù)據(jù)就丟失掉了﹗

 
要是我們能控制 stderr 必須等 stdout 寫完再寫,或倒過來,stdout 等 stderr 寫完再寫,那問題就能解決。 
但從技術(shù)上,較難掌控的,尤其是 FD 在作"長期性"的寫入時... 

那,如何解決呢?所謂山不轉(zhuǎn)路轉(zhuǎn)、路不轉(zhuǎn)人轉(zhuǎn)嘛, 
我們可以換一個思維:將 stderr 導(dǎo)進 stdout 或?qū)?nbsp;stdout 導(dǎo)進 sterr ,而不是大家在搶同一份檔案,不就行了﹗ 
bingo﹗就是這樣啦: 

* 2>;&1 就是將 stderr 并進 stdout 作輸出 
* 1>;&2 或 >;&2 就是將 stdout 并進 stderr 作輸出 

于是,前面的錯誤操作可以改為: 

$ ls my.file no.such.file 1>;file.both 2>;&1 
或 
$ ls my.file no.such.file 2>;file.both >;&2
 

這樣,不就皆大歡喜了嗎? 呵~~~ ^_^



 wingger 回復(fù)于:2004-11-14 14:19:07

引用:原帖由 "yhuang95411" 發(fā)表:
:mrgreen:  :mrgreen:  :mrgreen:  :mrgreen:  :mrgreen: 
但是缺乏比如說
2>;&3, 1>;&3, 3>;1&, 3>;&2
的解釋

誰能補全???




command <&m 把文件描述符m作為標準輸入 
command >;&m 把標準輸出重定向到文件描述符m中 
command <&- 關(guān)閉標準輸入


 safirst 回復(fù)于:2005-07-29 20:28:01

全了!呵呵


 lei8c8 回復(fù)于:2005-07-29 20:33:24

頂!


 yjtech 回復(fù)于:2005-07-30 22:04:35

[URL=http://www.linky.com.cn]益久聯(lián)合網(wǎng):提供免費網(wǎng)站鏈接,網(wǎng)站鏈接,鏈接網(wǎng),免費鏈接網(wǎng),友情鏈接,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)推廣[/URL]
[URL=http://www.yecaomei.com]野草莓:文化休閑網(wǎng)站 文化,休閑[/URL]
[URL=http://www.hiday.com.cn]www.hiday.com.cn[/URL]
[URL=http://www.webusiness.cn]益久網(wǎng)贏:專業(yè)的網(wǎng)絡(luò)營銷顧問服務(wù),為您提供一站式網(wǎng)絡(luò)營銷顧問服務(wù)以及網(wǎng)站設(shè)計與網(wǎng)絡(luò)技術(shù)支持:網(wǎng)站制作,建站程序,網(wǎng)頁設(shè)計,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)推廣,網(wǎng)絡(luò)營銷顧問服務(wù)[/URL]
[URL=http://www.taodongdong.com]www.taodongdong.com[/URL]


 想飛的青蛙 回復(fù)于:2005-08-31 19:15:27

暈!居然還有這樣的貼子!


 yttlovezxx 回復(fù)于:2005-09-14 23:27:22

如果談到 I/O 重定向,就涉及到文件標識符 (File Descriptor) 的概念, 在 Linux 系統(tǒng)中,系統(tǒng)為每一個打開的文件指定一個文件標識符以便系統(tǒng)對文件進行跟蹤,這里有些和C語言編程里的文件句柄相似,文件標識符是一個數(shù)字,不同數(shù)字代表不同的含義,默認情況下,系統(tǒng)占用了 3 個,分別是0標準輸入(stdin),1 標準輸出 (stdout), 2 標準錯誤 (stderr), 另外 3-9 是保留的標識符,可以把這些標識符指定成標準輸入,輸出或者錯誤作為臨時連接。通常這樣可以解決很多復(fù)雜的重定向請求。



 net_robber 回復(fù)于:2006-08-31 14:08:30

今天回頭補課#(:


 欣雨塵香 回復(fù)于:2007-09-26 11:45:23

受益:)


 shkjb 回復(fù)于:2007-09-27 16:38:06

頂!


 冰冰河 回復(fù)于:2007-10-23 16:26:09

“The same as”   看到一種說法是 重定向輸入操作符 (<)  復(fù)制操作符 (&)  不知道那種是正確的


 liaosnet 回復(fù)于:2007-10-23 17:16:20

這個是不是該轉(zhuǎn)到SHELL里去哦?~


 Guanqun 回復(fù)于:2008-06-16 16:51:31

http://qun.wp-host.cn/?p=92寫了點重定向的小結(jié),歡迎訪問,討論。


 by325 回復(fù)于:2008-07-03 00:03:45

真是超強帖啊,受益了,謝謝樓主了


 ourangdegushi 回復(fù)于:2008-08-07 23:30:52

悶在心里好久的問題,終于明了啦,萬分感謝啊


 clement1986 回復(fù)于:2008-12-24 10:43:10

其實一般用的時候就是形式上的把2>1&加在后面就行


 prot 回復(fù)于:2009-02-27 10:57:31

MARK


 noexcuse 回復(fù)于:2009-04-25 19:10:08

>;是怎么回事?
為什么我用ls >;a.txt的語句,在Solaris下根本就跑不通?
thx

[ 本帖最后由 noexcuse 于 2009-4-25 19:12 編輯 ]




原文鏈接:http://bbs.chinaunix.net/viewthread.php?tid=16361
轉(zhuǎn)載請注明作者名及原文出處
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            一本一本久久| 国产色婷婷国产综合在线理论片a| 一本大道av伊人久久综合| 国产精品xnxxcom| 久久乐国产精品| 亚洲欧美久久| 亚洲二区免费| 亚洲欧美另类在线| 亚洲视频综合| 先锋影音久久久| 欧美亚洲一区在线| 黄网站色欧美视频| 在线看片成人| 亚洲春色另类小说| 在线观看精品视频| 精品成人久久| 亚洲电影毛片| 亚洲日本中文字幕区| 亚洲精品一区在线| 9l国产精品久久久久麻豆| 欧美国产日韩二区| 蜜臀av一级做a爰片久久| 久久精品欧美日韩| 免费在线观看成人av| 女人香蕉久久**毛片精品| 亚洲一区二区黄| 亚洲私人影院| 亚洲作爱视频| 午夜国产精品影院在线观看| 欧美一级专区| 老色鬼精品视频在线观看播放| 免费在线一区二区| 欧美日韩一区二区欧美激情| 欧美性久久久| 国产日韩欧美另类| 国产精品毛片| 亚洲高清自拍| 亚洲视频一区二区免费在线观看| 性伦欧美刺激片在线观看| 美女在线一区二区| 日韩视频免费| 亚洲国产成人精品女人久久久| 午夜影院日韩| 久久久久久69| 亚洲精品中文字幕女同| 亚洲欧美日韩综合| 毛片精品免费在线观看| 欧美一区在线视频| 欧美日韩成人综合| 激情文学一区| 亚洲欧美另类在线观看| 久久激情五月激情| 久久人人爽人人爽爽久久| 亚洲福利视频二区| 99ri日韩精品视频| 亚洲在线观看视频网站| 午夜精品美女久久久久av福利| 亚洲视频在线看| 亚洲欧洲偷拍精品| 欧美在线观看视频一区二区| 久久久亚洲高清| 国产精品日本一区二区| 国产日韩精品在线观看| 伊大人香蕉综合8在线视| 亚洲人体1000| 久久一综合视频| 亚洲欧美日韩国产综合精品二区| 欧美国产丝袜视频| 午夜免费电影一区在线观看| 欧美黄色精品| 亚洲国产精品欧美一二99| 国产日韩在线看片| 亚洲一区二区在| 国内精品免费午夜毛片| 亚洲久久视频| 在线免费观看视频一区| 亚洲影院高清在线| 久久综合九色九九| av不卡在线看| 亚洲免费视频观看| 欧美在线视频一区| 欧美日韩亚洲天堂| 狠狠色综合网| 亚洲欧美清纯在线制服| 久久高清国产| 欧美激情精品久久久| 日韩视频在线一区二区三区| 欧美激情亚洲激情| 悠悠资源网亚洲青| 免费精品99久久国产综合精品| 久久精品亚洲乱码伦伦中文 | 欧美国产欧美亚洲国产日韩mv天天看完整 | 亚洲一区免费视频| 欧美阿v一级看视频| 卡一卡二国产精品| 国产精品影音先锋| 久久久久久久久久久久久女国产乱 | 国产精品女主播| 亚洲欧洲在线免费| 99riav久久精品riav| 国产精品久久久久久久久搜平片 | 美女爽到呻吟久久久久| 欧美a级一区| 欧美77777| 一本久道久久综合婷婷鲸鱼| 99国产一区| 国产日韩在线一区| 欧美不卡视频一区| 欧美欧美全黄| 欧美一区二区三区婷婷月色| 久久久久国产精品一区| 国产一区二区成人| 亚洲精品小视频在线观看| 激情国产一区二区| 99热免费精品| 国产精品久久网站| 久久久久青草大香线综合精品| 亚洲美女黄网| 亚洲一区二区三区久久| 在线成人激情视频| 日韩视频专区| 激情综合久久| 亚洲图中文字幕| 激情一区二区| 亚洲一区二区三区在线看 | 欧美日本亚洲韩国国产| 欧美亚洲日本一区| 免费观看在线综合| 久久精品国产免费看久久精品| 牛牛影视久久网| 羞羞色国产精品| 欧美成ee人免费视频| 久久久久久亚洲综合影院红桃 | 免费一级欧美在线大片| 欧美在现视频| 欧美日韩一区二区三| 你懂的视频一区二区| 国产精品欧美一区二区三区奶水| 欧美成人激情视频| 国产亚洲欧美另类一区二区三区| 亚洲精品少妇| 亚洲美女av黄| 欧美gay视频| 欧美韩日一区二区| 亚洲国产成人高清精品| 欧美一区二区大片| 欧美一站二站| 国产精品一区二区三区四区| 一本一本久久a久久精品牛牛影视| 亚洲国产一区二区视频| 久久久久久网站| 久久在线播放| …久久精品99久久香蕉国产| 久久精品亚洲乱码伦伦中文 | 国产精品麻豆欧美日韩ww| 日韩午夜精品| 亚洲影视九九影院在线观看| 欧美午夜精品久久久久免费视| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲福利精品| 欧美精品aa| 99精品视频免费| 亚洲自拍偷拍一区| 国产精品私房写真福利视频| 亚洲在线观看免费视频| 亚洲精品在线观看视频| 久久久亚洲国产天美传媒修理工| 亚洲欧美一区二区在线观看| 国产精品vvv| 亚洲欧美在线x视频| 久久美女性网| 亚洲片国产一区一级在线观看| 欧美激情一二三区| 亚洲午夜精品在线| 久久人人爽爽爽人久久久| 91久久精品国产| 亚洲精选一区| 亚洲一区精品电影| 欧美国产日本在线| 日韩视频免费看| 欧美一区二区日韩一区二区| 国产欧美在线看| 久久中文欧美| 日韩亚洲欧美高清| 久久动漫亚洲| 亚洲激情国产精品| 欧美亚男人的天堂| 久久精品国产999大香线蕉| 欧美成在线视频| 亚洲欧美电影在线观看| 精品va天堂亚洲国产| 欧美日本簧片| 久久久噜久噜久久综合| 亚洲网友自拍| 久久久久免费视频| 亚洲一区视频| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 欧美第十八页| 久久久精品国产一区二区三区| 一区二区高清视频|