Isiphelo sangoLwesihlanu: Umjelo oMiselweyo

Wamkelekile kolunye uLwesihlanu ...

Lixesha lokuba wazi icandelo elincinci lesiphelo. Emva kokucingisisa ndaye ndagqiba kwelokuba ndenze iposti malunga imilambo esemgangathweni; Nangona izakuba ngaphezulu, ndicinga ukuba yinto ekufuneka yaziwe ngumntu wonke.

Umjelo oMiselweyo

Umjelo oMiselweyo Yenziwe ngamajelo onxibelelwano aliqela phakathi komsebenzisi kunye nesiphelo. Ezi zingeniso / ukuphuma "kwamajelo" abonisa okanye afake ulwazi xa kusenziwa umthetho.

Umzobo okhawulezayo kwimilambo esemgangathweni.

Umzobo okhawulezayo kwimilambo esemgangathweni.

Unxibelelwano lwe-3 lwe-I / O zezi: stdin Igalelo eliqhelekileyo, Yima Imveliso esemgangathweni, kwiba Impazamo esemgangathweni.

stdin: Igalelo eliqhelekileyo

Igalelo elisezantsi yindlela esibamba ngayo ulwazi kumyalelo, nokuba kungenxa yemibhobho, ukuqondisa kwakhona, ikhibhodi, njl. Siyichonga ngesichazi sefayile 0.

Isichazi sisalathiso sokufikelela -kule meko- igalelo kunye neendlela zokuphuma. La ngamaxabiso e-int, ahlala eyi-0, 1, no-2

Umzekelo we-stdin uya kuba:

uhlobo <uluhlu

Ithatha lonke ulwazi oluluhlu- kule meko amanani abhalwe ngokungacwangciswanga- kwaye xa uhambisa ifayile kumyalelo we-ls, iluhlela uluhlu lwamanani ngokwe-alfabhethi. Kulo mzekelo iiflegi azicaciswanga.

stdout: Iziphumo eziqhelekileyo

Imveliso esemgangathweni, njengoko igama layo lisitsho, ibonisa ukuphuma komyalelo ngekhonsoli. Ukuba sibhala ls lonke ulwazi olusibonisa kwiscreen sisiphumo esisezantsi. Imelwe yinkcazo 1.

Ngoku ndiza kuzama ukwenza i-stdin kunye ne-stdout ngesikripthi esibhalwe kwi-bash, kuba ndiyayithanda i-bash hahaha. 🙂

uvavanyo.sh

#! / bin / bash ukuba [-t 0]; emva koko echo "Usebenzisa i-stdout" elif [-t 1]; ke echo "Usebenzisa i-stdin" enye i-echo "Impazamo ye-Brutal" fi

Ngoku umfanekiso weskrini esibonisa indlela yokusebenzisa iskripthi. Xa uhambisa kwakhona okanye usebenzisa umbhobho kunye nokusetyenziswa kweskripthi vavanyo -t ukwazi ukuba kuphela iskripthi se-stdout esenziweyo, kwaye ukuba akunjalo kuyacaca ukuba yi-stdin.

Uvavanyo lwe-bash.sh ls | Uvavanyo lwe-bash.sh bash test.sh </ etc / passwd
Iskripthi ekuthethwa ngaso kunye neziphumo ...

Iskripthi ekuthethwa ngaso kunye neziphumo zaso ...

Khumbula ukuguqula umyalelo kunye nokuziqhelanisa ukuze ufunde.

stderr: Impazamo esemgangathweni

Impazamo esemgangathweni yindlela iinkqubo ezibonisa ngayo iimpazamo okanye isifo. Imelwe yinkcazo 2.

Ukuqonda umxholo, nantsi imeko: xa sifuna ukugcina impazamo kumyalelo, into yokuqala esicinga ngayo kukuthumela iziphumo kwisicatshulwa esicacileyo.

ls> ulwazi.txt

Oku kuyakusebenza, ulwazi lomyalelo luya kugcinwa kwifayile yokubhaliweyo ecacileyo. Kodwa xa ugcina impazamo, ayigcini, kodwa iyayibonisa kwiscreen kwaye ifayile yokubhaliweyo engenanto ayinanto.

Endaweni yoko ukuba sisebenzisa u-2> ukubonisa ukugcina i-stderr kwifayile:

ls foo 2> info.txt

Ngoku iya kugcina ulwazi lwempazamo kwifayile yokubhaliweyo.

Uninzi lwe Shell vumela i-stderr kunye ne-stdout ukuba igcinwe kumyalelo omnye womyalelo nge &> apho iFoo sisikhokelo esingekhoyo

ls Ukhuphelo lweFoo &> info.txt

Le fayile izakuqulatha ulwazi malunga nempazamo xa kuqhutywa i-ls kwi-Foo kwaye iya kudweliswa kwimikhombandlela phantsi koKhuphelo.

Kwaye okokugqibela, yintoni eyaziwayo 2> & 1?

Elula, eqondisa kwakhona i-stderr kwi-stdout. Oko kunye phakathi> kunye no-1 kuthetha ukuba iya kuphinda ithumele kwi-stdout. Ukuba ibingekho, ibizakuba yinto efana nale ... "phinda uthumele impazamo kwifayile yokuqala".

Kwaye oku kunokwenzeka ukuba uqondise kwakhona:

  • stdout kwifayile
  • stderr kwifayile
  • stdout ukuya kwi-stderr
  • stderr ukuya kwi-stdout
  • stderr kunye stdout kwifayile
  • phakathi kwabanye

Yiyo eyanamhlanje abantu. Sifunda kwaye siyabulela ngokusidlula. 😀


Shiya uluvo lwakho

Idilesi yakho ye email aziyi kupapashwa. ezidingekayo ziphawulwe *

*

*

  1. Uxanduva lwedatha: UMiguel Ángel Gatón
  2. Injongo yedatha: Ulawulo lwe-SPAM, ulawulo lwezimvo.
  3. Umthetho: Imvume yakho
  4. Unxibelelwano lwedatha: Idatha ayizukuhanjiswa kubantu besithathu ngaphandle koxanduva lomthetho.
  5. Ukugcinwa kweenkcukacha
  6. Amalungelo: Ngalo naliphi na ixesha unganciphisa, uphinde uphinde ucime ulwazi lwakho.

  1.   Eliotime3000 sitsho

    Inomdla. Enkosi kwizifundo zakho, ndiyayithanda iBash ngakumbi.

  2.   Quincy magoo sitsho

    Molo, unomdla, nangona kunjalo unempazamo kulo mgca ulandelayo:

    Msgstr "Kwaye xa uhambisa kwakhona ifayile kumyalelo we-ls", kufanele ukuba ibe njalo kwaye xa uhambisa kwakhona ifayile leyo kuhlobo lomyalelo ".

    A ubingelele.

  3.   Miguel sitsho

    Kukho impazamo ekuqaleni kokubhaliweyo, xa ubonakalisa umyalelo «ls», kufanele ukuba ibe ngu «uhlobo»:
    "Ithatha lonke ulwazi oluluhlu - kule meko amanani abhalwe ngokungacwangciswanga-, kwaye xa uhambisa ifayile kumyalelo we-ls (nantsi iya kulungiswa)"

    Imibuliso kunye nombulelo ngokwabelana ngomsebenzi wakho

  4.   Indlela sitsho

    Oku kulungele ikhron, apho ufuna ukuba imveliso igungxulwe (/ dev / null) kodwa iimpazamo zigcinwe kwiifayile. Kananjalo, xa ndisenza oku, ndihlala ndisebenzisa umhla wokuyalela ukucacisa ukuba basilele nini.

    I-Bash (sh) inezi zixhobo ziphuhliswe yifilosofi ye-Unix "yenza into enye, kwaye uyenze kakuhle"

  5.   indlela yokubonisa ukuhleka sitsho

    Ewe, andifumananga nto

    1.    Ilizwi sitsho

      Haha icacisiwe kakuhle, yintoni ongayiqondiyo?