亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1889 | 回復(fù): 7
打印 上一主題 下一主題

[系統(tǒng)管理] 關(guān)于管道 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2013-03-16 19:00 |只看該作者 |倒序?yàn)g覽
while :; do echo; done |:        # 直接退出
while :; do echo >&2; done |: #死循環(huán)
while :; do echo >&2; done |&: #直接退出

為什么1,3會(huì)退出?

論壇徽章:
2
射手座
日期:2014-10-10 15:59:4715-16賽季CBA聯(lián)賽之上海
日期:2016-03-03 10:27:14
2 [報(bào)告]
發(fā)表于 2013-03-16 19:19 |只看該作者
回復(fù) 1# hbmhalley


   
The standard output of command is connected via a pipe to the  standard
       input  of  command2.  This connection is performed before any redirec‐
       tions specified by the command (see REDIRECTION below).  If |& is used,
       the standard error of command is connected to command2's standard input
       through the pipe; it is shorthand for 2>&1 |.  This implicit redirect‐
       ion of the standard error is performed after any redirections specified
       by the command.

  1. 第一個(gè), cmd1 的輸出傳給了 cmd2
  2. i=0;while :; do echo 3; done | while read line; do echo $line "pipeline"; ((i++)); [[ $i -gt 3 ]] && exit; done
  3. 第二個(gè), 由于cmd1 的輸出重定向?yàn)闃?biāo)準(zhǔn)錯(cuò)誤,cmd2沒有接受的任何輸入
  4. i=0;while :; do echo 3 >&2; done | while read line; do echo $line "pipeline"; ((i++)); [[ $i -gt 3 ]] && exit; done
  5. 第三個(gè), 這個(gè)可以以用上面quote部分介紹,
  6. i=0;while :; do echo 3 >&2; done |& while read line; do echo $line "pipeline"; ((i++)); [[ $i -gt 3 ]] && exit; done
復(fù)制代碼

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2013-03-16 19:25 |只看該作者
回復(fù) 2# yinyuemi


    啊..我想問的是 誰砍掉了死循環(huán)?為什么 echo 到被關(guān)掉的stdout 會(huì)導(dǎo)致整個(gè) while 被砍掉?
    難道是環(huán)境問題?

    $ uname -a
    CYGWIN_NT-6.1-WOW64 h-PC 1.7.17(0.262/5/3) 2012-10-19 14:39 i686 Cygwin

論壇徽章:
2
射手座
日期:2014-10-10 15:59:4715-16賽季CBA聯(lián)賽之上海
日期:2016-03-03 10:27:14
4 [報(bào)告]
發(fā)表于 2013-03-16 19:33 |只看該作者
回復(fù) 3# hbmhalley

我覺得是pipeline后面的:命令,

help :
:: :
    Null command.

    No effect; the command does nothing.

    Exit Status:
    Always succeeds.
  1. i=0;j=0;while :; do ((j++)); echo 3 "j="$j;  done | while read line; do echo $line "pipeline"; ((i++)); [[ $i -gt 3 ]] && exit; done
  2. 3 j=1 pipeline
  3. 3 j=2 pipeline
  4. 3 j=3 pipeline
  5. 3 j=4 pipeline
復(fù)制代碼

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2013-03-16 19:42 |只看該作者
本帖最后由 hbmhalley 于 2013-03-16 19:48 編輯

回復(fù) 4# yinyuemi


    這樣說吧
  1. h@h-PC ~/work
  2. $ awk 'BEGIN{for(;;)print("a");}'|: #退出, 誰干的?: ? 那為毛下面的沒事?或者 stdout被關(guān)?那應(yīng)該是4那樣報(bào)錯(cuò)啊

  3. h@h-PC ~/work
  4. $ awk 'BEGIN{for(;;);}'|: #死循環(huán)


  5. h@h-PC ~/work
  6. $ awk 'BEGIN{for(;;);}'>&-|: #死循環(huán)


  7. h@h-PC ~/work
  8. $ awk 'BEGIN{for(;;)print("a");}'>&-|: #帶報(bào)錯(cuò)的退出
  9. awk: cmd. line:1: fatal: print to "standard output" failed (Bad file descriptor)
復(fù)制代碼
我這不方便進(jìn)純*nix,麻煩幫忙測試一下這是否是個(gè)個(gè)例?

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2013-03-16 19:58 |只看該作者
回復(fù) 4# yinyuemi


    哦知道了 .. SIGPIPE默認(rèn)會(huì)讓進(jìn)程退掉
    把SIGPIPE忽略掉就不會(huì)退了

    多謝關(guān)心

論壇徽章:
2
射手座
日期:2014-10-10 15:59:4715-16賽季CBA聯(lián)賽之上海
日期:2016-03-03 10:27:14
7 [報(bào)告]
發(fā)表于 2013-03-16 21:18 |只看該作者
回復(fù) 6# hbmhalley


    呵呵,不客氣~
   

論壇徽章:
3
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亞洲杯之阿曼
日期:2015-04-07 20:00:59
8 [報(bào)告]
發(fā)表于 2013-03-18 19:35 |只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP