ULwesihlanu wesikhumulo: Ukusakaza okujwayelekile

Uyemukelwa kolunye uLwesihlanu ...

Sekuyisikhathi sokwazi ingxenye encane yesiginali. Ngemuva kokucabanga okuningi nginqume ukudala okuthunyelwe mayelana ne- imifudlana ejwayelekile; Yize kuzoba phezulu, ngicabanga ukuthi yinto okufanele wonke umuntu ayazi.

Ukusakaza Okujwayelekile

Ukusakaza Okujwayelekile Yenziwe ngamashaneli wokuxhumana amaningana phakathi komsebenzisi ne-terminal. Lezi “ziteshi” zokufaka / zokukhipha zibonisa noma zithwebula imininingwane lapho kwenziwa umyalo.

Umdwebo osheshayo emifudlaneni ejwayelekile.

Umdwebo osheshayo emifudlaneni ejwayelekile.

Ukuxhumeka oku-3 kwe-I / O yile: stdin Okokufaka okujwayelekile, stdout Okukhiphayo okujwayelekile, stderr Iphutha elijwayelekile.

i-stdin: Okokufaka okujwayelekile

Okokufaka okujwayelekile kuyindlela lapho sifaka khona imininingwane kusuka kumyalo, kungaba ngamapayipi, ukuqondisa kabusha, ikhibhodi, njll. Sikhomba ngencazelo yefayela 0.

Isichazi siyinkomba yokufinyelela -kulesi simo- iziteshi zokufaka nezokukhipha. Lawa amanani we-int, imvamisa kungu-0, 1, no-2.

Isibonelo se-stdin kungaba:

hlunga <uhlu

Kuthatha lonke ulwazi olusohlwini -kulesi simo izinombolo ezibhalwe ngokungahleliwe-, futhi lapho uqondisa kabusha ifayela kumyalo we-ls, lihlela uhlu lwezinombolo ngokulandelana kwama-alfabhethi. Kulesi sibonelo amafulegi abekiwe.

stdout: Ukukhishwa okujwayelekile

Ukukhishwa okujwayelekile, njengoba kusho igama laso, kukhombisa ukukhishwa komyalo nge-console. Uma sibhala ls lonke ulwazi olusikhombisa esikrinini kungukukhishwa okujwayelekile. Imelwe ngumchazi 1.

Manje ngizozama ukufaka i-stdin ne-stdout ngombhalo obhalwe ku-bash, ngoba ngithanda i-bash hahaha. 🙂

test.sh

#! / bin / bash uma [-t 0]; bese u-echo "Usebenzisa i-stdout" elif [-t 1]; bese uthi "Usebenzisa i-stdin" enye i-echo "Iphutha lobugebengu" fi

Manje isithombe-skrini esibonisa ukuthi ungasisebenzisa kanjani iskripthi. Lapho uqondisa kabusha noma usebenzisa ipayipi nokusetshenziswa kweskripthi isivivinyo -t ukwazi ukuthi kwenziwa yini kuphela umbhalo we-stdout, futhi uma kungenjalo kusobala ukuthi yi-stdin.

bash test.sh ls | bash test.sh bash test.sh </ etc / passwd
Iskripthi okukhulunywa ngaso nemiphumela yaso ...

Iskripthi okukhulunywa ngaso nemiphumela yaso ...

Khumbula ukuguqula umyalo nokuzilolonga ukuze ufunde.

stderr: Iphutha elijwayelekile

Iphutha elijwayelekile yindlela izinhlelo ezibonisa ngayo amaphutha noma ukuxilongwa. Imelwe ngumchazi 2.

Ukuqonda umqondo, lesi yisimo: lapho sifuna ukugcina iphutha lomyalo, into yokuqala esicabanga ngayo ukuqondisa kabusha okukhiphayo kumbhalo osobala.

ls> info.txt

Lokhu kuzosebenza, imininingwane yomyalo izogcinwa kufayela lombhalo osobala. Kepha lapho kugcinwa iphutha, aligcini, kepha liyakhombisa esikrinini nefayela lombhalo ongenalutho alinalutho.

Esikhundleni salokho uma sisebenzisa u-2> ukukhombisa ukusindisa i-stderr kufayela:

ls foo 2> info.txt

Manje izogcina imininingwane yephutha kufayela lombhalo.

Iningi le shell vumela i-stderr ne-stdout ukuthi igcinwe kumyalo owodwa womyalo nge &> lapho i-Foo eyisiqondisi esingekho

ls Ukulanda i-Foo &> info.txt

Leli fayela lizoqukatha imininingwane yephutha lapho kwenziwa i-ls ku-Foo futhi lizofaka kuhlu imikhombandlela engaphansi kokulandiwe.

Futhi ekugcineni, yini lokho okudumile 2> & 1?

Elula, eqondisa kabusha i-stderr ku-stdout. Lokho & phakathi> no-1 kusho ukuthi kuzoqondisa kabusha ku-stdout. Ukube ibingekho, bekungaba into efana ne ... "ukuqondisa kabusha iphutha ukufaka i-1".

Futhi ngalokhu kungenzeka ukuqondisa kabusha:

  • stdout kufayela
  • stderr kufayela
  • stdout ku-stderr
  • stderr ukuze stdout
  • stderr kanye stdout kufayela
  • phakathi kwabanye

Yilokho okwanamuhla abantu. Siyafunda futhi siyabonga ngokusinda kwakho. 😀


Amazwana ayi-6, shiya okwakho

Shiya umbono wakho

Ikheli lakho le ngeke ishicilelwe. Ezidingekayo ibhalwe nge *

*

*

  1. Ubhekele imininingwane: Miguel Ángel Gatón
  2. Inhloso yedatha: Lawula Ugaxekile, ukuphathwa kwamazwana.
  3. Ukusemthethweni: Imvume yakho
  4. Ukuxhumana kwemininingwane: Imininingwane ngeke idluliselwe kubantu besithathu ngaphandle kwesibopho esisemthethweni.
  5. Isitoreji sedatha: Idatabase ebanjwe yi-Occentus Networks (EU)
  6. Amalungelo: Nganoma yisiphi isikhathi ungakhawulela, uthole futhi ususe imininingwane yakho.

  1.   eliotime3000 kusho

    Kuyathakazelisa. Ngenxa yezifundo zakho, ngithanda uBash kakhulu.

  2.   UQuincy Magoo kusho

    Othandekayo, onentshisekelo, kepha unephutha kulayini olandelayo:

    "Futhi lapho uqondisa kabusha ifayela kumyalo we-ls", kufanele kube "futhi lapho uqondisa kabusha ifayela kumyalo wokuhlunga".

    A ukubingelela.

  3.   UMiguel kusho

    Kukhona iphutha ekuqaleni kombhalo, lapho ukhombisa umyalo "ls", kufanele kube "ukuhlunga":
    "Kuthatha lonke ulwazi olusohlwini - kulokhu izinombolo ezibhalwe ngokungahleliwe-, futhi lapho kuqondiswa kabusha ifayela kumyalo we-ls (lapha kuzohlelwa)

    Ukubingelela nokubonga ngokwabelana ngomsebenzi wakho

  4.   umgwaqo kusho

    Lokhu kuhle nge-cron, lapho ufuna ukuthi okukhiphayo kukhishwe (/ dev / null) kepha amaphutha agcinwe kumafayela. Futhi, lapho ngenza lokhu, ngivame ukusebenzisa umyalo wosuku ukucacisa kahle ukuthi bahlulekile nini.

    UBash (sh) unalawa mathuluzi akhuliswe ifilosofi ye-Unix "enza into eyodwa, futhi akwenze kahle"

  5.   Lolo kusho

    Angikatholi lutho

    1.    Izwi kusho

      Haha kahle kuchazwe kahle, yini ongayiqondanga?