exec - Išskleisti subprocesą (-us)
Anotacija
exec? jungikliai ? arg ? arg … ?
apibūdinimas
Ši komanda elgiasi su savo argumentais kaip vieno ar kelių paleidimo specifikacijų specifiką. Argumentai yra standartinio "shell" vamzdyno, kur kiekvienas arg tampa vienu komandos žodžiu, o kiekviena atskira komanda tampa pogrupiu.
Jei pradiniai argumentaiexec pradėti nuo- tada jie laikomi komandų eilutės jungikliais ir nėra dujotiekio specifikacijos dalis. Šiuo metu palaikomi šie jungikliai:
-keepnewline
Išsaugo dujotiekio išvesties antrąją eilutę. Paprastai užpakalinė eilutė bus ištrinta.
--
Pažymi jungiklių pabaigą. Šis argumentas bus laikomas pirmuoju arg net jei jis prasideda a-.
Jei an arg (arba porą arg 's) turi vieną iš žemiau aprašytų formų, tada ji naudojamaexec kontroliuoti įvesties ir išėjimo srautą tarp pogrupio (-ų). Tokie argumentai nebus perduoti subprocesui (-ams). Tokiose formose kaip `` < failo pavadinimas '' failo pavadinimas gali būti atskirame argumente iš "` <'' arba tame pačiame argumente be tarpinio tarpo (t. y. `` < failo pavadinimas '').
|
Atskiras dujotiekio atskiras komandas. Standartinė ankstesnės komandos išvestis bus įtraukiama į standartinę kitos komandos komandą.
|&
Atskiras dujotiekio atskiras komandas. Tiek standartinės išvesties, tiek ir standartinės ankstesnės komandos klaidos bus įtrauktos į standartinę kitos komandos komandą. Ši peradresavimo forma pakeičia formas, tokias kaip 2> ir> &.
< failo pavadinimas
Failas pavadintas failo pavadinimas yra atidarytas ir naudojamas kaip standartinis įvadas pirmojoje vamzdyno komandoje.
<@ fileId
FileId turi būti atviro failo identifikatorius, pvz., grąžinimo vertė iš ankstesnio skambučio įatviras. Jis naudojamas kaip standartinis įvadas pirmojoje dujotiekio komandoje. FileId turi būti atidarytas skaityti.
<< vertę
Vertė yra perkeltas į pirmąją komandą kaip įprastą įvestį.
> failo pavadinimas
Standartinė išvestis iš paskutinės komandos peradresuojama į failą, pavadintą failo pavadinimas , perrašydamas savo ankstesnį turinį.
2> failo pavadinimas
Standartinė klaida iš visų komandų dujotiekyje peradresuojama į failą, pavadintą failo pavadinimas , perrašydamas savo ankstesnį turinį.
>& failo pavadinimas
Tiek standartinė išvestis iš paskutinės komandos, tiek standartinė klaida iš visų komandų nukreipiama į failą, pavadintą failo pavadinimas , perrašydamas savo ankstesnį turinį.
>> failo pavadinimas
Standartinė išvestis iš paskutinės komandos peradresuojama į failą, pavadintą failo pavadinimas , pridedant prie jo, o ne perrašydami.
2>> failo pavadinimas
Standartinė klaida iš visų komandų dujotiekyje peradresuojama į failą, pavadintą failo pavadinimas , pridedant prie jo, o ne perrašydami.
>>& failo pavadinimas
Tiek standartinė išvestis iš paskutinės komandos, tiek standartinė klaida iš visų komandų nukreipiama į failą, pavadintą failo pavadinimas , pridedant prie jo, o ne perrašydami.
>@ fileId
FileId turi būti atviro failo identifikatorius, pvz., grąžinimo vertė iš ankstesnio skambučio įatviras. Standartinė išvestis iš paskutinės komandos peradresuojama į fileId failas, kuris turėjo būti atidarytas rašyti.
2>@ fileId
FileId turi būti atviro failo identifikatorius, pvz., grąžinimo vertė iš ankstesnio skambučio įatviras. Standartinė klaida iš visų komandų dujotiekyje peradresuojama į fileId failas. Failas turi būti atidarytas rašyti.
>&@ fileId
FileId turi būti atviro failo identifikatorius, pvz., grąžinimo vertė iš ankstesnio skambučio įatviras. Abi standartinės išvesties iš paskutinės komandos ir standartinės klaidos iš visų komandų nukreipiama į fileId failas. Failas turi būti atidarytas rašyti.
Jei standartinė išvestis nebuvo peradresuota, tadaexec komanda grąžina standartinę išėjimo iš paskutinės dujotiekio komandos komandą. Jei kuri nors iš dujotiekio komandų išeina neįprastai arba yra nužudyta arba sustabdyta, tadaexec grąžins klaidą, o klaidos pranešime bus nurodytas dujotiekio išėjimas, po kurio bus klaidų pranešimai, apibūdinantys nenormalius nutraukimus; asKlaidos kodas kintamasis turės papildomos informacijos apie paskutinį neįvykdytą nutraukimą. Jei kuri nors komanda rašo į savo standartinį klaidų failą ir ši standartinė klaida nenukreipiama, tadaexec grąžins klaidą; į klaidos pranešimą bus įtraukta vamzdyno standartinė išvada, po kurios bus pranešimai apie nenormalius nutraukimus (jei yra), po kurių eina standartinė klaida.
Jei paskutinysis rezultato ar klaidos pranešimo simbolis yra naujoji eilutė, šis simbolis paprastai ištrinamas iš rezultato arba klaidos pranešimo. Tai atitinka kitas "Tcl" grąžinimo reikšmes, kurios paprastai nebegalioja su naujomis eilutėmis. Tačiau jei-keepnewline yra nurodyta, tada paliekama užpakalinė nauja eilutė.
Jei standartinė įvestis nenukreipiama naudojant `` <'' arba `` << '' arba `` <@ '', tada standartinė įvestis pirmojoje vamzdyno komandoje yra paimta iš dabartinės standartinės įvesties.
Jei paskutinis arg yra `` & '', tada vamzdynas bus vykdomas fone. Šiuo atvejuexeckomanda grąžins sąrašą, kurio elementai yra proceso identifikatoriai visiems vamzdynų pogrebėjams.Standartinė išvestis iš paskutinės vamzdynų komandos eina į standartinės programos išvestį, jei jis nebuvo nukreiptas, o klaidų išvedimas iš visų komandų vamzdyne pereis į programos standartinį klaidų failą, nebent bus peradresuojamas.
Pirmasis žodis kiekvienoje komandoje laikomas komandos pavadinimu; Tilde yra pakeičiamas, o jei rezultatas neturi jokių brūkšnių, tada aplanke PATH aplanko kataloguose ieškoma vykdomojo failo pagal vardą. Jei pavadinime yra brūkšnys, tada jis turi nurodyti vykdomąjį failą, pasiekiamą iš dabartinio katalogo. Komandų argumentams nėra atliekama `` glob '' plėtra ar kiti shell-like pakeitimai.
Perkeliamumo problemos
Windows (visos versijos)
Skaitymas iš arba įrašymas į lizdą naudojant "`@ fileId '' žymėjimas, neveikia. Skaitydami iš lizdo, 16 bitų DOS programa bus pakabinta ir 32 bitų programa vėl bus grąžinta failo pabaigoje. Kai bet kuri programos rūšis rašo į lizdą, informacija yra siunčiama į konsolę, jei ji yra, arba yra atmesta.
"Tk console" teksto valdiklis neteikia tikrų standartinių IO galimybių. Pagal Tk, kai nukreipiama iš standartinės įvesties, visos programos pamatys greitą failo pabaigą; informacija, nukreipta į standartinę išeitį arba standartinė klaida, bus atmesta.
Tariamai į priekį arba atgal grįžtantys brūkšniai yra priimami kaip takų atskyrikliai argumentams Tcl komandoms. Vykdant programą, kelio pavadinime, nurodytame programai, kaip kelio skirtukus taip pat gali būti įstrižai į priekį arba atgal. Tačiau turėkite omenyje, kad dauguma "Windows" programų pritaria argumentams, kurių persiuntimo brūkšniai yra tik kaip parinkčių apribojimai ir grįžtantys brūkšniai tik keliuose. Bet kokie argumentai taikymui, kuris nurodo kelio pavadinimą su brūkšniais į priekį, automatiškai nebus konvertuojami, kad būtų naudojamas grįžtamojo brūkšnio simbolis. Jei argumentas yra kelio skirtukas, jis gali būti arba negali būti pripažintas kelio pavadinimu, priklausomai nuo programos.
Be to, skambinant 16 bitų "DOS" arba "Windows 3.X" programai, visi kelio pavadinimai turi naudoti trumpą, šnipščio kelio formatą (pvz., Naudojant "` applba ~ 1.def '', o ne `` applbakery.default '' )
Du arba daugiau iš eilės į kelią nukreipti pirmyn arba atgal yra nuorodos į tinklo kelią. Pavyzdžiui, paprastas šakninio katalogo sujungimasc: / su pakatalogiu/ windows / system duosc: // windows / system (du brūkšniai kartu), kuris nurodo montavimo taškąsistema ant mašinos, kuri vadinamalangai (irc: / yra ignoruojamas) ir nėra lygiavertisc: / windows / system, kuriame aprašomas dabartinio kompiuterio katalogas. Thefailas prisijungti komanda turi būti naudojama maršruto sudedamųjų dalių sujungimui.
Windows NT
Bandydami paleisti programą,exec pirmosios ieškos pavadinimo, kaip jis buvo nurodytas. Tada, kad,.com, .exe, ir.šikšnosparnis yra pridedami prie nurodyto vardo galo ir ieškoma ilgo vardo. Jei katalogo pavadinimas nebuvo nurodytas kaip programos pavadinimo dalis, bandant rasti taikomą programą, automatiškai ieškoma šių katalogų:
Katalogas, kuriame buvo įkeltas Tcl vykdomąjį failą.Dabartinis katalogas."Windows NT" 32 bitų sistemos aplankas.Windows NT 16 bitų sistemos aplankas.Namų katalogas Windows NT.Katalogai, išvardyti kelyje. Kad būtų įvykdytos "shell" integruotos komandos kaipdir irkopijuoti, skambinančiajam reikia nurodyti "`cmd.exe / c'' į pageidaujamą komandą. Windows 95 Bandydami paleisti programą,exec pirmosios ieškos pavadinimo, kaip jis buvo nurodytas. Tada, kad,.com, .exe, ir.šikšnosparnis yra pridedami prie nurodyto vardo galo ir ieškoma ilgo vardo. Jei katalogo pavadinimas nebuvo nurodytas kaip programos pavadinimo dalis, bandant rasti taikomą programą, automatiškai ieškoma šių katalogų: Katalogas, kuriame buvo įkeltas Tcl vykdomąjį failą.Dabartinis katalogas."Windows 95" sistemos katalogas."Windows 95" pagrindinis katalogas.Katalogai, išvardyti kelyje. Kad būtų įvykdytos "shell" integruotos komandos kaipdir irkopijuoti, skambinančiajam reikia nurodyti "`Command.com / c'' į pageidaujamą komandą. Kai 16 bitų DOS programa perskaitė standartinę konsolės įvestį ir tuomet uždarykite, visos vėliau paleistos 16 bitų DOS programos pamatys standartinį įvestį, kuris jau uždarytas. 32 bitų programos neturi šios problemos ir veikia teisingai net po to, kai 16 bitų DOS programa mano, kad standartinė įvestis yra uždaryta. Šiuo metu nėra jokios žinomos problemos dėl šios klaidos. Persiuntimas tarpNUL: prietaisas ir 16 bitų programa ne visada veikia. Peradresuojant išNUL:, kai kurios programos gali pakabinti, kiti gauna begalinį srautą "` 0x01 '' baitų, o kai kurie iš tikrųjų teisingai gauna greitą failo pabaigą; atrodo, kad elgesys priklauso nuo to, kas įrašyta į pačią paraišką. Kai peradresuojama daugiau nei 4K, ar neNUL:, kai kurios programos pakils. Pirmiau minėtos problemos neįvyksta su 32 bitų programomis. Visos "DOS" 16 bitų programos paleidžiamos sinchroniškai. Visas standartinis įėjimas iš vamzdžio į 16 bitų DOS programą yra surenkamas į laikiną failą; kitas vamzdžio galas turi būti uždarytas prieš prasidedant 16 bitų DOS programai.Visa standartinė išvestis ar klaida iš 16 bitų DOS programos į vamzdį surenkama į laikinąsias bylas; paraiška turi būti nutraukta, kol laikinosios bylos nukreipiamos į kitą dujotiekio etapą. Taip atsitiko dėl "Windows 95" klaidos dėl vamzdžių įdiegimo ir kaip standartinis "Windows 95 DOS" korpusas tvarko vamzdžius. Tam tikros programos, pvz.,command.com, neturėtų būti vykdomi interaktyviai. Programos, kurios tiesiogiai pasiekia konsolės langą, o ne skaitomos iš standartinės įvesties ir rašo į standartinę išvestį, gali sugesti, pakabinti Tcl arba net pakabinti sistemą, jei jų privatus konsolės langas jiems nėra. "Macintosh" Theexec komanda nėra įdiegta ir neegzistuoja "Macintosh" sistemoje. Unix Theexec komanda yra visiškai funkcionali ir veikia kaip aprašyta. klaida (n), atidaryta (n) vykdyti, dujotiekis, peradresavimas, pogrupis Svarbu: Naudoti vyras komanda ( % vyras ), kad pamatytumėte, kaip komanda naudojama jūsų konkrečiame kompiuteryje. Taip pat žiūrėkite
Raktiniai žodžiai













