Jimcaha Terminal: Stream Stream

Ku soo dhowow jimco kale ...

Waa waqtigii lagu baran lahaa qayb yar oo ka mid ah terminaalka. Fikir badan ka dib waxaan go aansaday inaan abuuro qoraal ku saabsan durdurrada caadiga ah; In kasta oo ay dusha ka sarreyso, haddana waxaan u maleynayaa inay tahay wax ay tahay inuu qof walba ogaado.

Heerka caadiga ah

Heerka caadiga ah Waxay ka kooban tahay dhowr wadiiqo oo isgaarsiineed oo u dhexeeya isticmaalaha iyo boosteejada. Kuwani "Kanaallada" Wax-soo-saarka / Soo-saaridda waxay muujiyaan ama qabtaan macluumaadka markii amar la fulinayo.

Jaantus deg deg ah oo ku saabsan durdurrada caadiga ah.

Jaantus deg deg ah oo ku saabsan durdurrada caadiga ah.

Isku xidhka 3 I / O waa: stdin Talo gelinta caadiga ah, dhejis Soosaarka caadiga ah, stderr Khaladka caadiga ah.

stdin: Talooyin caadi ah

Gelinta caadiga ah waa habka aan macluumaadka uga soo qaadanno amar, ama tubbooyin, dib u habeyn, kumbuyuutar, iwm. Waxaan ku aqoonsaneynaa muuqaalka faylka 0.

Tilmaamuhu waa tilmaame si loo helo - kiiskan - marinnada iyo wax soo saarka. Kuwani waa qiyamka int, badanaa 0, 1, iyo 2.

Tusaalaha stdin wuxuu noqon karaa:

kala saar <liis garayn

Waxay qaadataa dhammaan macluumaadka ku jira liiska - xaaladdan lambarrada loo qoro si aan kala sooc lahayn - iyo marka faylka loo wareejinayo amarka ls, waxay u kala saartaa liiska lambarrada alifbeetada. Tusaalahan calamaduhu waa maldahan yihiin.

stdout: Soosaarka caadiga ah

Soosaarka caadiga ah, sida magaceedu tilmaamayo, wuxuu soo bandhigayaa soo saarida amarka adoo adeegsanaya qunsulka. Haddii aan qorno ls dhammaan macluumaadka ay na tusayso shaashadda ayaa ah wax soo saarka caadiga ah. Waxaa matalaya sharaxe 1.

Hadda waxaan isku dayi doonaa inaan dhaqaajiyo stdin iyo stdout oo leh qoraal ku qoran bash, si fudud maxaa yeelay waan jeclahay bash hahaha. 🙂

imtixaan.sh

#! / bin / bash haddii [-t 0]; ka dib dhawaaqa "Waxaad isticmaaleysaa istaroog" elif [-t 1]; ka dib ku celi "Waxaad isticmaaleysaa stdin" kale echo "Khalad nacasnimo" fi

Hadda shaashad shaashad ah oo muujinaysa sida loo isticmaalo qoraalka. Marka la wareejinayo ama la isticmaalayo tuubbo la adeegsanayo qoraalka tijaabi -t in la ogaado haddii kaliya qoraalka stdout la fuliyo, haddii kalese waa iska cadahay.

imtixaan bash.sh ls | bash test.sh bash test.sh </ etc / passwd
Qoraalka su'aasha laga keenay iyo wax soo saarkiisa ...

Qoraalka su'aasha laga keenay iyo wax soo saarkiisa ...

Xusuusnow inaad wax ka beddesho amarka iyo ku celcelinta si aad wax u barato.

stderr: Cilad caadi ah

Khalad Caadi ah waa habka barnaamijyadu u soo bandhigaan khaladaadka ama ogaanshaha cudurka. Waxaa matalaya sharaxe 2.

Si loo fahmo fikradda, tani waa xaaladda: marka aan dooneyno inaan badbaadinno qaladka amarka, waxa ugu horreeya ee aan ka fekereyno waa inaan u weecino wax soo saarka qoraalka cad.

ls> info.txt

Tani way shaqeyn laheyd, macluumaadka amarka waxaa lagu keydinayaa feylal qoraal ah oo toos ah. Laakiin marka la keydinaayo qaladka, ma keydineyso, laakiin waxay ku muujineysaa shaashadda oo faylka qoraalka cad ayaa madhan.

Taabadalkeed haddii aan isticmaalno 2> si aan u muujinno si aan u kaydiyo stderr faylka:

ls foo 2> info.txt

Hadda waxay kaydin doontaa macluumaadka qaladka ee faylka qoraalka ku jira.

Inta badan Shell u oggolow stderr iyo stdout in lagu kaydiyo hal amar oo amar ah oo leh &> halka Foo ay tahay tusaha aan jirin

ls Soo Degsashada Foo &> info.txt

Faylkani wuxuu ka koobnaan doonaa macluumaadka qaladka markii la fulinayo ls Foo wuxuuna qori doonaa tilmaamaha hoosta Soo-dejinta.

Ugu dambeyntiina, muxuu caan ku yahay taasi 2> & 1?

Fudud, dib uxirid stderr ilaa stdout. Taasi & badhtanka> iyo 1 macnaheedu waa waxay u weecin doontaa ciribtirka. Haddii aysan halkaas joogin, waxay noqon laheyd wax sida ... "khaladka u weeciya faylka 1".

Tanna waa suurtogal in dib loo wareejiyo:

  • istaandarka faylka
  • stderr fayl
  • stdout ilaa stderr
  • stderr inuu istaago
  • stderr iyo stdout in file ah
  • kuwa kale

Taasi waa tan maanta dadka. Waan aqrinay waadna ku mahadsantahay joojinta. 😀


6 faallooyin, ka tag taada

Ka tag faalladaada

cinwaanka email aan la daabacin doonaa. Beeraha loo baahan yahay waxaa lagu calaamadeeyay la *

*

*

  1. Masuul ka ah xogta: Miguel Ángel Gatón
  2. Ujeedada xogta: Xakamaynta SPAM, maaraynta faallooyinka.
  3. Sharci: Oggolaanshahaaga
  4. Isgaarsiinta xogta: Xogta looma gudbin doono dhinacyada saddexaad marka laga reebo waajibaadka sharciga ah.
  5. Kaydinta xogta: Macluumaadka ay martigelisay Shabakadaha Occentus (EU)
  6. Xuquuqda: Waqti kasta oo aad xadidi karto, soo ceshan karto oo tirtiri karto macluumaadkaaga.

  1.   Waqti dheer 3000 dijo

    Xiiso leh Waad ku mahadsan tahay casharradaada, Waxaan jeclahay Bash waxbadan.

  2.   Quincy magoo dijo

    Gacaliye, xiiso leh, si kastaba ha noqotee waxaad khalad ku leedahay khadka soo socda:

    "Iyo marka faylka loo wareejinayo amarka ls", waa inuu noqdaa "iyo goorta faylka loo wareejinayo amarka nooc".

    Thanks.

  3.   Miguel dijo

    Waxaa jira cilad bilowga qoraalka, markaad tilmaamayso amarka "ls", waa inuu noqdaa "nooc":
    «Waxay qaadataa dhammaan macluumaadka ku jira liiska - kiiskan tirooyinka loo qoro si aan kala sooc lahayn -, iyo marka faylka loo wareejinayo amarka ls (halkan waa nooc)

    Salaan iyo mahadsanid wadaagida shaqadaada

  4.   wadadeeye dijo

    Tani waxay ku fiican tahay cron, halkaas oo aad rabto in wax soo saarku la shubo (/ dev / null) laakiin khaladaadka lagu kaydiyo faylasha. Sidoo kale, markaan sidan sameeyo, waxaan badanaa isticmaalaa amarka taariikhda si aan u caddeeyo goorta ay ku fashilmeen.

    Bash (sh) wuxuu leeyahay aaladahaas oo ay soo saareen falsafada Unix "wax keliya samee, oo si wanaagsan u samee"

  5.   Lolo dijo

    Hagaag, waxba kamaan helin

    1.    Cod dijo

      Haha si fiican ayaa loo sharaxay sifiican, maxaad fahmi weyday?