Terminal Chishanu: Standard Stream

Kugamuchirwa kune imwe Chishanu ...

Yasvika nguva yekuziva chikamu chidiki cheiyo terminal. Mushure mekufunga kwakawanda ndakafunga kugadzira chinyorwa nezve iyo standard hova; Kunyangwe chichava chepamusoro, ndinofunga chiri chinhu chinofanirwa kuziva nemunhu wese.

Yakazara Stream

Yakazara Stream Inoumbwa nematanho ekutaurirana akati wandei pakati pemushandisi uye terminal. Aya maInput / Output "chiteshi" anoratidza kana kutora ruzivo kana kuraira kwaitwa.

Kurumidza dhayagiramu pane yakajairwa hova.

Kurumidza dhayagiramu pane yakajairwa hova.

Iwo matatu I / O ekubatanidza ndeaya: stdin Standard yekuisa, stdout Standard kuburitsa, stderr Kukanganisa kwakawanda.

stdin: Yakajairwa yekuisa

Yakajairwa yekuisa ndiyo nzira yatinobata nayo ruzivo kubva kumurairo, kungave kuburikidza nemapombi, redirection, keyboard, nezvimwe. Isu tinozvizivisa neiyo dudziro yefaira 0.

Iyo tsananguro chiratidzo chekuwana-mune iyi kesi- iyo yekuisa uye yekubuda nzira. Aya ndiwo maitiro e int, kazhinji 0, 1, uye 2.

Muenzaniso we stdin ungave:

sarudza <kunyora

Zvinotora ruzivo rwese rwuri mune irwo runyorwa - mune iyi nyaya manhamba akanyorwa zvisina mutsindo - uye kana uchidzoreredza iyo faira kune iyo ls yekuraira, inoronga iyo nhamba yehuwandu nerunyoro. Mumuenzaniso uyu mireza iri pachena.

stdout: Yakaburitswa

Standard kuburitsa, sezita zvarinoreva, inoratidza kuburitsa kwemirairo kuburikidza neconsole. Kana isu tikanyora ls, ruzivo rwese rwunotiratidza pachiratidziro ndicho chakabuditswa. Inomiririrwa nedudziro 1.

Zvino ini ndichaedza kusimbisa stdin uye stdout nechinyorwa chakanyorwa mu bash, nekuda kwekuti ini ndinoda bash hahaha. 🙂

test.sh

#! / bin / bash kana [-t 0]; wobva wadzokorora "Uri kushandisa stdout" elif [-t 1]; wobva wati "Uri kushandisa stdin" imwezve echo "Brutal error" fi

Iye zvino skrini inoratidza maitiro ekushandisa script. Paunenge uchidzosera kana kushandisa pombi ine script yekushandisa bvunzo -t kuziva kana chete stdout script inoitwa, uye kana zvisiri zviri pachena stdin.

bash bvunzo.sh ls | bash test.sh bash bvunzo.sh </ etc / passwd
Iyo script iri mubvunzo uye zvainobuda ...

Iyo script iri mubvunzo uye zvainobuda ...

Rangarira kugadzirisa rairo uye kudzidzira kuitira kuti iwe udzidze.

stderr: Kanganiso yakajairwa

Standard Kukanganisa ndiyo nzira iyo zvirongwa zvinoratidza zvikanganiso kana diagnostics. Inomiririrwa nedudziro 2.

Kuti unzwisise pfungwa iyi, iyi ndiyo mamiriro: kana isu tichida kusevha yekukanganisa kuraira, chinhu chekutanga chatinofunga nezvacho chiri kuendesa kuburitsa kune yakajeka zvinyorwa.

ls> info.txt

Izvi zvaizoshanda, iro rairo reruzivo rinochengetwa mune yakajeka mameseji faira. Asi kana uchichengeta iko kukanganisa, hakuichengete, asi inozviratidza pachiratidziro uye faira remavara faira harina chinhu.

Panzvimbo iyoyo kana isu tikashandisa 2> kuratidza kuchengetedza stderr mufaira:

ls foo 2> info.txt

Iye zvino icha chengetedza iyo yekukanganisa ruzivo mune zvinyorwa zvinyorwa.

Zvizhinji zve Shell bvumira stderr uye stdout kuchengetwa mune imwechete yekuraira kuraira ne &> uko Foo iri dhairekitori risipo

ls Kurodha pasi Foo &> info.txt

Iyi faira ichave iine ruzivo rwekukanganisa paunenge uchiita ls muFoo uye unonyora madhairekitori ari pasi peDownload.

Uye pakupedzisira, chii chinozivikanwa icho 2> & 1?

Zvakareruka, redirect stderr kune stdout. Izvo & pakati pe> uye 1 zvinoreva kuti ichaendesa kune stdout. Dai yanga isipo, chingave chinhu chakadai ... "redirect the error to file 1".

Uye neizvi zvinokwanisika kuendesa zvakare:

  • stdout kune faira
  • stderr kune faira
  • stdout ku stderr
  • stderr ku stdout
  • stderr uye stdout kune faira
  • pakati pevamwe

Ndikwo kwanhasi vanhu. Tinoverenga nekutenda nekumira kwawakaita. 😀


Siya yako yekutaura

Your kero e havazobvumirwi ichibudiswa. Raida minda anozivikanwa ne *

*

*

  1. Inotarisira iyo data: Miguel Ángel Gatón
  2. Chinangwa cheiyo data: Kudzora SPAM, manejimendi manejimendi.
  3. Legitimation: Kubvuma kwako
  4. Kutaurirana kwedata
  5. Dhata yekuchengetedza: Dhatabhesi inobatwa neOccentus Networks (EU)
  6. Kodzero: Panguva ipi neipi iwe unogona kudzora, kupora uye kudzima ruzivo rwako

  1.   eliotime3000 akadaro

    Inonakidza. Kutenda kune vako vadzidzisi, ndiri kufarira Bhash zvakanyanya.

  2.   Quincy magoo akadaro

    Anodiwa, anonakidza, zvisinei iwe une kukanganisa mune inotevera mutsara:

    "Uye kana uchirongedzesa iyo faira kune iyo ls raira", inofanirwa kunge iri "uye kana uchitungamidza iyo faira kune yakasarudzika kuraira".

    Thanks.

  3.   Miguel akadaro

    Pane kukanganisa pakutanga kwechinyorwa, paunoratidza rairo «ls», inofanira kunge iri «ronga»:
    "Zvinotora ruzivo rwese rwuri mune irwo runyorwa - mune iyi nyaya manhamba akanyorwa zvisina kurongwa-, uye kana uchidzoreredza iyo faira kune iyo ls raira (apa zvingave zvakarongeka)"

    Kwazisai uye nekutenda nekugovana rako basa

  4.   mugwagwa akadaro

    Izvi zvakanaka kune cron, uko iwe kwaunoda kuti kuburitswa kuve kwakatsetseka (/ dev / null) asi zvikanganiso zvichengetwe mumafaira. Zvakare, pandinoita izvi, ini ndinowanzo shandisa iro rairo kuraira kutsanangura chaizvo pavakatadza.

    Bash (sh) ine zvishandiso izvi zvakagadzirwa neiyo Unix uzivi "ita chinhu chimwe, uzviite nemazvo"

  5.   lol akadaro

    Zvakanaka ini handina chandakawana

    1.    Inzwi akadaro

      Haha zvakanaka zvinotsanangurwa chaizvo, chii chausina kunzwisisa?