Exec - Linuksa Komando - Unikso Komando

ekzec - Invoku subproceson (es)

Sinopsis

ekzek ? ŝaltiloj ? arg ? arg ... ?

Priskribo

Ĉi tiu komando traktas ĝiajn argumentojn kiel la specifo de unu aŭ pli da subprocesoj por ekzekuti. La argumentoj prenas la formon de norma ŝelo-dukto, kie ĉiu arg fariĝas unu vorto de komando, kaj ĉiu klara komando iĝas subprocesa.

Se la komencaj argumentoj por ekzek komenci - tiam ili estas traktataj kiel komandlinaj ŝaltiloj kaj ne estas parto de la pipeline-specifo. La jenaj ŝaltiloj nun estas subtenataj:

-keepnewline

Retenas fluganta linio en la eliro de la dukto. Kutime foriga linio estos forigita.

-

Marki la finon de ŝaltiloj. La argumento sekvanta ĉi tiun estos traktita kiel la unua arg eĉ se ĝi komenciĝas per - .

Se arg (aŭ paro de arg ) havas unu el la formoj priskribitaj sube, ĝi estas uzata per ekzek por kontroli la fluon de enigo kaj eligo inter la subproceso (es). Tiaj argumentoj ne pasos al la subproceso (es). En formoj kiel '`< fileName ' ' dosieroName povas esti en aparta argumento de` `<' 'aŭ en la sama argumento sen interspaco (tio estas,'` < fileName '').

|

Apartigas distingajn ordonojn en la dukto. La norma eligo de la antaŭa komando estos pipita en la norman enigon de la sekva komando.

| &

Apartigas distingajn ordonojn en la dukto. Ambaŭ norma eligo kaj norma eraro de la antaŭa komando estos metitaj en la norman enigon de la sekva komando. Ĉi tiu formo de redirekto forĵetas formojn kiel 2> kaj> &.

< fileName

La dosiero nomata per fileName estas malfermita kaj uzata kiel norma enigo por la unua komando en la dukto.

< @dosiero

FileId devas esti la identigilo por malferma dosiero, kiel la redonvaloro de antaŭa alvoko por malfermi . Ĝi estas uzata kiel norma enigo por la unua komando en la dukto. Arkivujo devas esti malfermita por legado.

<< valoro

Valoro pasas al la unua komando kiel ĝia norma enigo.

> dosiernomo

Norma eligo de la lasta komando estas alidirektita al la dosiero nomata fileName , superskribante ĝiajn antaŭajn enhavojn.

2> dosiernomo

Norma eraro de ĉiuj komandoj en la dukto estas alidirektita al la dosiero nomata fileName , superskribante ĝiajn antaŭajn enhavojn.

> & dosiernomo

Ambaŭ normaj eligo de la lasta komando kaj norma eraro de ĉiuj komandoj estas alidirektitaj al la dosiero nomata fileName , superskribante ĝiajn antaŭajn enhavojn.

>> dosiernomo

Norma eligo de la lasta komando estas alidirektita al la dosiero nomata fileName , aldone al ĝi anstataŭ anstataŭi ĝin.

2 >> dosiernomo

Norma eraro de ĉiuj komandoj en la dukto estas alidirektita al la dosiero nomata fileName , aldone al ĝi anstataŭ anstataŭi ĝin.

>> & dosiernomo

Ambaŭ normaj eligo de la lasta komando kaj norma eraro de ĉiuj komandoj estas alidirektitaj al la dosiero nomata fileName , aldone al ĝi anstataŭ anstataŭi ĝin.

> @ fileId

FileId devas esti la identigilo por malferma dosiero, kiel la redonvaloro de antaŭa alvoko por malfermi . Norma eligo de la lasta komando estas alidirektita al dosiero de dosiero, kiu devas esti malfermita por skribado.

2> @ fileId

FileId devas esti la identigilo por malferma dosiero, kiel la redonvaloro de antaŭa alvoko por malfermi . Norma eraro de ĉiuj komandoj en la dukto estas alidirektita al dosiero de dosiero. La dosiero devas esti malfermita por skribado.

> & @ fileId

FileId devas esti la identigilo por malferma dosiero, kiel la redonvaloro de antaŭa alvoko por malfermi . Ambaŭ normaj eligo de la lasta komando kaj norma eraro de ĉiuj komandoj estas alidirektitaj al dosiero de dosiero. La dosiero devas esti malfermita por skribado.

Se norma eligo ne estis alidirektita, la ekzekkomando redonas la norman eliron de la lasta komando en la dukto. Se iu el la ordonoj en la dukto eliras eksterordinare aŭ mortigas aŭ malakceptas, tiam ekzec revenos eraro kaj la erara mesaĝo inkluzivos la rezulton de la dukto, sekvita de eraraj mesaĝoj, kiuj priskribas la eksternormajn finaĵojn; la variablo de eraro-kodo enhavos plian informon pri la lasta eksternorma finaĵo renkontita. Se iu el la komandoj skribas al ĝia norma erara dosiero kaj tiu norma eraro ne estas alidirektita, tiam ekzec revenos eraro; la erara mesaĝo inkluzivos la norman eliron de la tubo, sekvita de mesaĝoj pri eksternormaj finaĵoj (se iu), sekvita de la norma erara eligo.

Se la lasta karaktero de la rezulto aŭ erara mesaĝo estas nova linio tiam tiu karaktero estas kutime forigita de la rezulto aŭ erara mesaĝo. Ĉi tio estas konsekvenca kun aliaj Rezervaj valoroj, kiuj ne kutime finiĝas kun lineoj. Tamen, se -keepnewline estas precizigita tiam la rekta linio estas retenita.

Se norma enigo ne estas alidirektita kun `` <'' aŭ `` << '' aŭ `` <@ '' tiam la norma enigo por la unua komando en la dukto estas prenita de la aktuala norma enigo de la apliko.

Se la lasta arg estas `` & '' tiam la dukto estos ekzekutita en fono. En ĉi tiu kazo la ekzekkomando redonos liston kies elementoj estas la procezaj identigiloj por ĉiuj subprocesoj en la dukto. La norma eligo de la lasta komando en la dukto iros al la norma eligo de la aplikaĵo se ĝi ne estis redirektita, kaj erara eligo de ĉiuj komandoj en la dukto iros al la norma erara dosiero de la apliko, krom se alidirektita.

La unua vorto en ĉiu komando estas prenita kiel la komandnomo; tilde-anstataŭo estas farita sur ĝi, kaj se la rezulto enhavas neniujn batalojn, tiam la dosierujoj en la variablo de medio PATH serĉas ejektablan per la donita nomo. Se la nomo enhavas slash tiam ĝi devas raporti al ekzekutebla atingebla el la aktuala dosierujo. Ne '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '.

Porteblaj aferoj

Vindozo (ĉiuj versioj)

Legante de aŭ skribi al poŝo, per la notacio '` @ fileId ', ne funkcias. Al la lego de konekto, apliko de 16-bit DOS haltos kaj aplikaĵo de 32-bitoj revenos tuj kun fina dosiero. Kiam ĉiu tipo de aplikaĵo skribas al socket, la informo anstataŭe sendas al la konzolo, se iu ĉeestas aŭ estas forĵetita.

La tekstaĵa teksto de Tk-konzolo ne provizas reale normajn IO-kapablojn. Sub Tk, alidirektanta de norma enigo, ĉiuj aplikoj vidos tujan finaĵon de dosiero; informoj alidirektitaj al norma eligo aŭ norma eraro estos forĵetitaj.

Aŭ antaŭen aŭ malantaŭaj slatoj estas akceptitaj kiel vojaj apartigiloj por argumentoj al Tcl-komandoj. Al la ekzekuti aplikaĵon, la nomo de la vojo specifita por la aplikaĵo ankaŭ povas enhavi antaŭen aŭ malantaŭen batalojn kiel vojaj apartigiloj. Memoru, tamen, ke la plej multaj Fenestroj-aplikoj akceptas argumentojn kun antaŭaj bataliloj nur kiel opcionlimaj kaj malaltiĝoj nur en vojoj. Ajna argumentoj al aplikaĵo, kiu difinas nomon de vojoj kun antaŭaj slatoj, ne aŭtomate konvertiĝos por uzi la malaltan karakteron. Se argumento enhavas antaŭajn batalojn kiel la apartigilo de vojoj, ĝi eble aŭ ne povas esti agnoskita kiel vojo nomata laŭ la programo.

Aldone, alvokante 16-bit DOS aŭ Windows 3.X-aplikaĵon, ĉiuj padnomoj devas uzi la mallongan, kriptaforman vojformaton (ekz. Uzante `` applba ~ 1.def '' anstataŭ `` applbakery.default '' ).

Du aŭ pli da antaŭenaj aŭ malantaŭaj batoj en vico en vojo rilatas al retovojo. Ekzemple, simpla konkatenigo de la radika dosierujo c: / kun subdosierujo / fenestroj / sistemo donos c: // fenestrojn / sistemon (du batalojn kune), kiu rilatas al la monto nomata sistemo sur la maŝino nomata fenestroj (kaj la c: / estas ignorita), kaj ne estas ekvivalenta al c: / windows / system , kiu priskribas dosierujon de la aktuala komputilo. La komando aliĝu dosiero devas esti uzata por konkatigi vojojn.

Windows NT

Kiam vi provas ekzekuti aplikaĵon, ekzek unua serĉo por la nomo kiel ĝi estis specifita. Tiam, en ordo, .com , .exe , kaj .bat estas aldonitaj al la fino de la specifa nomo kaj ĝi serĉas la pli longan nomon. Se dosieruja nomo ne estis specifita kiel parto de la aplika nomo, la sekvaj dosierujoj estas aŭtomate serĉitaj, kiam ili provas lokalizi la aplikon:

La dosierujo el kiu la Tcl-ekzekuto estis ŝargita.
La nuna dosierujo.
La dosieruja sistemo de Windows NT 32-bitoj.
La dosierujo de sistemoj de Windows NT 16-bit.
La hejma dosierujo de Windows NT.
La dosierujoj listigitaj en la vojo.

Por ekzekuti la ŝelon konstruita ordonas kiel dir kaj kopii , la alvokanto devas preĝi `` cmd.exe / c '' al la dezirata komando.

Windows 95

Kiam vi provas ekzekuti aplikaĵon, ekzek unua serĉo por la nomo kiel ĝi estis specifita. Tiam, en ordo, .com , .exe , kaj .bat estas aldonitaj al la fino de la specifa nomo kaj ĝi serĉas la pli longan nomon. Se dosieruja nomo ne estis specifita kiel parto de la aplika nomo, la sekvaj dosierujoj estas aŭtomate serĉitaj, kiam ili provas lokalizi la aplikon:

La dosierujo el kiu la Tcl-ekzekuto estis ŝargita.
La nuna dosierujo.
La dosierujo de sistemo de Windows 95.
La hejma dosierujo de Windows 95.
La dosierujoj listigitaj en la vojo.

Por ekzekuti la ŝelon konstruita ordonas kiel dir kaj kopii , la alvokanto devas preĝi `` command.com / c '' al la dezirata komando.

Fojo kiun apliko de 16-bit DOS legis norman enigon de konzolo kaj poste ĉesas, ĉiuj poste kuros 16-bit DOS-aplikojn vidos la norman enigon kiel jam fermitan. La 32-bitaj aplikoj ne havas ĉi tiun problemon kaj kuros ĝuste, eĉ post 16-bit DOS-aplikaĵo pensas, ke norma enigo estas fermita. Ne konas ĉi tiun eraron por ĉi tiu tempo.

Redirektado inter la NUL: aparato kaj 16-bita apliko ne ĉiam funkcias. Alidirektanta de NUL: kelkaj aplikoj povas pendi, aliaj ricevos senfinan riveron de `` 0x01 '' bytes, kaj iuj efektive ĝuste ricevos tujan finaĵon de dosiero; la konduto ŝajnas dependi de io kompilita en la aplikaĵon mem. Alidirektanta pli ol 4K aŭ pli al NUL: iuj aplikoj pendos. La supraj problemoj ne okazas kun 32-bitaj aplikoj.

Ĉiuj DOS-16-bitaj aplikoj kuras sinkrone. Ĉiuj normaj enigoj de tubaro al 16-bit DOS-apliko estas kolektitaj en provizora dosiero; la alia fino de la pipo devas esti fermita antaŭ ol la 16-bit DOS-aplikaĵo komenciĝas. Ĉiu norma eligo aŭ eraro de 16-bit DOS-apliko al tubaro estas kolektita en provizorajn dosierojn; la apliko devas fini antaŭ ol la provizoraj dosieroj estas alidirektitaj al la sekva etapo de la dukto. Ĉi tio estas pro konflikto por fizuso de Windows 95 en la efektivigo de tubaroj, kaj estas kiel la norma sistemo de Windows 95 DOS manipulas tubojn mem.

Iuj aplikoj, kiel comando.com , ne devus esti ekzekutitaj interagie. La aplikaĵoj, kiuj rekte aliras la konzolon, prefere ol legi de sia norma enigo kaj skribado al sia norma eligo, povas malsukcesi, pendigi Tcl aŭ eĉ pendigi la sistemon, se ilia propra privata konzolo estas ne disponebla al ili.

Macintosh

La ekzekkomando ne estas efektivigita kaj ne ekzistas sub Macintosh.

Unikso

La ekzekkomando estas plene funkcia kaj funkcias kiel priskribita.

Vidu ankaŭ

eraro (n), malfermi (n)

Ŝlosilvortoj

ekzekuti, pipeline, redirekto, subproceso

Grava: Uzu la komandon ( % viro ) por vidi kiel komando estas uzata en via komputilo.