Exec - Linux Command - Unix Command

exec - Invoke undirferli (ir)

Yfirlit

exec ? rofar ? arg ? arg ... ?

Lýsing

Þessi skipun sér um rök þess sem skilgreining á einum eða fleiri undirferlum til að framkvæma. Rökin eru í formi venjulegs skelleiðslu þar sem hvert argur verður eitt orð af skipun og hver sérskipun verður hluti.

Ef upphafleg rökin til exec byrja með - þá eru þau meðhöndluð sem skipanalínur og eru ekki hluti af leiðslulýsingunni. Eftirfarandi rofar eru studdir:

-keepnewline

Heldur áfram með nýju línu í framleiðslulínunni. Venjulega er slökkt á nýrri línu.

-

Merkir lok rofa. Rifríðin sem fylgir þessum mun verða meðhöndluð sem fyrsta arg, jafnvel þótt það byrjar með a - .

Ef arg (eða par af arg ) hefur eitt af eyðublöðum sem lýst er hér að neðan, er það notað af exec til að stjórna flæði inntaks- og framleiðsla milli undirferlanna. Slík rök verða ekki send til undirferlisins. Í formum eins og `` < fileName '' skráarnet má annaðhvort vera í sérstakri rifrildi frá `` <'' eða í sama rifrildi án millibili rými (þ.e. `` < skráarnúmer '').

|

Skilgreinir mismunandi skipanir í leiðslum. Stöðluð framleiðsla framangreindra skipana verður flutt í staðalinntak næstu skipunar.

| &

Skilgreinir mismunandi skipanir í leiðslum. Bæði staðlaðar framleiðsla og staðalfrávik framangreindra skipana verða fluttir inn í venjulegu inntak næsta skipunar. Þetta form af umskiptum yfirfærir eyðublöð eins og 2> og> &.

< fileName

Skráin sem heitir skráarnafn er opnuð og notuð sem staðalinntak fyrir fyrstu skipunina í leiðslum.

<@ fileId

FileId verður að vera kennimerki fyrir opinn skrá, svo sem afturvirði frá fyrri símtali til að opna . Það er notað sem staðalinntak fyrir fyrsta skipan í leiðslum. FileId verður að hafa verið opnað til að lesa.

<< gildi

Gildi er skilað í fyrsta skipunina sem staðlað inntak þess.

> skráarnöfn

Venjulegur framleiðsla frá síðustu skipun er vísað til skráar sem heitir skráarnúmer og skrifar yfir það sem hún hefur áður fengið.

2> skráarnöfn

Staðall villa frá öllum skipunum í leiðslunni er vísað til skráarinnar sem heitir skráarnúmer og skrifað yfir það áður.

> & skráarnöfn

Bæði staðlaður framleiðsla frá síðustu skipun og staðal villa frá öllum skipunum er vísað til skráarinnar sem heitir skráarnúmer og skrifað yfir það sem áður var notað.

>> fileName

Venjulegur framleiðsla frá síðustu skipun er vísað til skráar sem heitir skráarnúmer og bætir við því frekar en að skrifa það yfir.

2 >> skráarnúmer

Staðall villa frá öllum skipunum í leiðslunni er vísað til skráarinnar sem heitir skráarnúmer og bætir við því frekar en að skrifa það.

>> & fileName

Bæði staðlaður framleiðsla frá síðustu skipun og staðalfrávik frá öllum skipunum er vísað til skráar sem heitir skráarnúmer og bætir við því frekar en að skrifa um það.

> @ fileId

FileId verður að vera kennimerki fyrir opinn skrá, svo sem afturvirði frá fyrri símtali til að opna . Venjulegur framleiðsla frá síðustu stjórn er vísað til fileId 's skrá, sem verður að hafa verið opnaður til að skrifa.

2> @ fileId

FileId verður að vera kennimerki fyrir opinn skrá, svo sem afturvirði frá fyrri símtali til að opna . Staðall villa frá öllum skipunum í leiðslum er vísað til fileId 's skrá. Skráin verður að hafa verið opnuð til að skrifa.

> & @ fileId

FileId verður að vera kennimerki fyrir opinn skrá, svo sem afturvirði frá fyrri símtali til að opna . Bæði staðlaður framleiðsla frá síðustu stjórn og staðal villa frá öllum skipunum er vísað til skráars skráar. Skráin verður að hafa verið opnuð til að skrifa.

Ef stöðluð framleiðsla hefur ekki verið vísað áfram þá skilar exec skipuninni staðlaðri framleiðsla frá síðustu stjórn í leiðslum. Ef einhver skipunin í leiðslunni lýkur óeðlilega eða er drepin eða stöðvuð, þá mun exec koma aftur upp villa og villuskilaboðin mun innihalda framleiðsla leiðslunnar og fylgjast með villuskilaboðum sem lýsa óeðlilegum uppsögnum; villaCode breytu mun innihalda viðbótarupplýsingar um síðustu óeðlilega uppsögn. Ef eitthvað af skipunum skrifar í staðlaða villa skrá og að staðal villa er ekki vísað til, þá mun exec skilar villu; Villuskilaboðin munu innihalda stöðluðu framleiðslulínu leiðslunnar, fylgt eftir með skilaboðum um óeðlilegar uppsagnir (ef einhverjar eru) og eftirfylgni staðalfráviksins.

Ef síðasta eðli niðurstaðan eða villuskilaboðin er newline þá er eðli venjulega eytt úr niðurstöðunni eða villuboðinu. Þetta er í samræmi við aðrar TCL gildi, sem venjulega ekki endast með newlines. Hins vegar, ef -keepnewline er tilgreint þá er eftirlínurinn haldið áfram.

Ef staðallinntakið er ekki vísað áfram með `` <'' eða `` << '' eða `` <@ '' þá er staðalinntakið fyrir fyrsta skipunina í leiðslunni tekin úr núverandi staðalinntaki forritsins.

Ef síðasta arg er `` & '' þá verður leiðslan framkvæmd í bakgrunni. Í þessu tilfelli mun exec skipunin skila lista þar sem þættir eru aðferðafræðin fyrir öll undirvinnslurnar í leiðslum. Stöðluð framleiðsla frá síðustu stjórn í leiðslum mun fara í venjulegan framleiðsla forritsins ef það hefur ekki verið vísað áfram og villaútgáfa frá öllum skipunum í leiðslum mun fara í venjulegan villuskil í forritinu nema að vísa til.

Fyrsta orðið í hverri skipun er tekin sem skipunarnöfn; Tilde-skipti er framkvæmd á henni, og ef niðurstaðan inniheldur engar skástrikar, þá eru möppurnar í PATH umhverfisbreytunni leitað að executable með því að gefa upp nafnið. Ef nafnið inniheldur slash þá verður það að vísa til executable náðist frá núverandi skrá. Engar `` glob '' stækkun eða aðrar skel-eins skiptitengingar eru gerðar á rökum fyrir skipanir.

Portability Issues

Windows (allar útgáfur)

Lestur frá eða skrifað í fals, með `` @ fileId '' merkingunni, virkar ekki. Þegar þú lest frá falsi mun 16 bita DOS forrit hengja og 32 bita forrit mun skila strax með lokaskrá. Þegar annaðhvort gerð umsóknar skrifar í fals, eru upplýsingarnar sendar í stað hugbúnaðarins, ef einhver er til staðar, eða er fleygt.

Tk-hugbúnaðarsniðið býður ekki upp á alvöru staðlaða IO getu. Undir Tk, þegar framvísun frá stöðluðu inntaki, munu öll forrit sjá strax endanlega skrá; upplýsingar sem vísað er til venjulegs framleiðsla eða stöðluð villa verður eytt.

Annaðhvort fram eða afturábak rista eru samþykktar sem leiðarskiljur fyrir rök að Tcl skipunum. Þegar forrit er framkvæmt getur slóðin sem er tilgreind fyrir forritið einnig innihalda framsýn eða afturábak skvashes sem leiðarskiltur. Hafðu í huga þó að flestir Windows forritin samþykkja rök með framsneytisskotum aðeins sem afmörkunarmöguleikar og baksláttar aðeins á vegum. Allir rökir við forrit sem tilgreina slóðarnúmer með framsneytisskotum verður ekki sjálfkrafa breytt til að nota bakslagsstigið. Ef rifrildi inniheldur framhleypa slashes sem slóðarseparanum er það kannski ekki viðurkennt sem slóðarnúmer, allt eftir forritinu.

Að auki, þegar þú hringir í 16-bita DOS eða Windows 3.X forrit, verður öll slóðarnöfn að nota stutta, dulrita slóðarsniðið (td með `` applba ~ 1.def '' í stað `` applbakery.default '' ).

Tveir eða fleiri áfram eða afturábak rista í röð í slóð vísa til netleiðar. Til dæmis getur einföld samskeyti rótargjafarinnar c: / með undirskrá / gluggakista / kerfi skilað c: // gluggum / kerfi (tveir skápar saman) sem vísar til fjallpunktsins sem kallast kerfið á vélinni sem kallast gluggakista (og c: / er hunsuð) og er ekki jafngilt c: / windows / system , sem lýsir skrá á núverandi tölvu. Skráarskráin ætti að nota til að tengja slóðina í hluti.

Windows NT

Þegar reynt er að framkvæma umsókn leitar exec fyrst eftir nafninu eins og það var tilgreint. Þá eru, í röð, .com , .exe og .bat bætt við lok tilgreint heiti og það leitar að lengri nafni. Ef nafn möppunnar var ekki tilgreint sem hluti af umsóknarnemanum er leitað á eftirfarandi möppum sjálfkrafa í því skyni að reyna að finna forritið:

Skráin sem Tcl keyrslan var hlaðið inn.
Núverandi skrá.
Windows NT 32-bita kerfi skrá.
Windows NT 16-bita kerfi skrá.
Windows NT heimaskráin.
Leiðbeiningar sem skráð eru í slóðinni.

Til þess að framkvæma skelin sem eru innbyggð skipanir eins og dir og afrita , verður hringirinn að setja `` cmd.exe / c '' inn í viðkomandi skipun.

Windows 95

Þegar reynt er að framkvæma umsókn leitar exec fyrst eftir nafninu eins og það var tilgreint. Þá eru, í röð, .com , .exe og .bat bætt við lok tilgreint heiti og það leitar að lengri nafni. Ef nafn möppunnar var ekki tilgreint sem hluti af umsóknarnemanum er leitað á eftirfarandi möppum sjálfkrafa í því skyni að reyna að finna forritið:

Skráin sem Tcl keyrslan var hlaðið inn.
Núverandi skrá.
Windows 95 kerfi skrá.
Windows 95 heimaskráin.
Leiðbeiningar sem skráð eru í slóðinni.

Til þess að framkvæma skelinn innbyggð skipanir eins og dir og afrita , þá verður hringirinn að setja `` command.com / c '' inn í viðkomandi skipun.

Þegar 16-bita DOS-forrit hefur lesið staðlað inntak frá stjórnborðinu og hætt, þá mun allt sem keyrir í kjölfarið 16-bita DOS forritin sjá venjulegu inntakið sem þegar er lokað. 32-bita forrit hafa ekki þetta vandamál og mun keyra rétt, jafnvel eftir að 16 bita DOS forritið telur að staðalinntakið sé lokað. Það er engin þekkt lausn fyrir þessa galla á þessum tíma.

Skipting milli NUL: tækisins og 16 bita forrit virkar ekki alltaf. Þegar áframhaldandi frá NUL:, geta sumir forrit hangið, aðrir vilja fá óendanlega straum af `` 0x01 '' bæti, og sumir munu í raun fá réttan endanlega skrá; Hegðunin virðist vera háð því að eitthvað er tekið saman í umsóknina sjálft. Þegar beina meira en 4K til NUL:, munu sum forrit hengja. Ofangreind vandamál gerast ekki með 32-bita forritum.

Öll DOS 16-bita forrit eru keyrð samstillt. Öll staðall inntak frá pípu í 16-bita DOS forrit er safnað í tímabundna skrá; Hinn enda pípunnar verður að vera lokaður áður en 16-bita DOS forritið byrjar að framkvæma. Öll staðall framleiðsla eða villa frá 16-bit DOS forriti til pípu er safnað í tímabundnar skrár; umsóknin verður að ljúka áður en tímabundnar skrár eru sendar á næsta stig leiðslunnar. Þetta er vegna þess að lausnin er í Windows 95 galla í framkvæmd pípa, og er hvernig staðalinn Windows 95 DOS skel annast pípur sig.

Ákveðnar forrit, svo sem command.com , ættu ekki að framkvæma gagnvirkt. Forrit sem hafa beint aðgang að hugga glugganum, frekar en að lesa úr venjulegu inntaki sínu og skrifa á staðlaðan framleiðsla þeirra gæti mistekist, hangið Tcl eða jafnvel tengt kerfinu ef eigin gluggi þeirra er ekki í boði.

Macintosh

Exec skipunin er ekki útfærð og er ekki til fyrir Macintosh.

Unix

Exec skipunin er fullkomlega hagnýtur og virkar eins og lýst er.

Sjá einnig

villa (n), opinn (n)

Leitarorð

framkvæma, leiðsla, endurvísa, subprocess

Mikilvægt: Notaðu stjórn mannsins ( % maður ) til að sjá hvernig stjórn er notuð á tölvunni þinni.