Exec - Linux Command - Unix Command

exec - Invoke subproċess (i)

Sinteżi

tesegwixxi ? swiċċijiet ? arg ? arg ... ?

Deskrizzjoni

Dan il-kmand jittratta l-argumenti tiegħu bħala l-ispeċifikazzjoni ta 'subproċess wieħed jew aktar biex jesegwixxi. L-argumenti jieħdu l-forma ta 'pipeline tal-qoxra standard fejn kull arg isir kelma waħda ta' kmand, u kull kmand distint isir subproċess.

Jekk jibdew l-argumenti inizjali għall- eżekuzzjoni - allura huma ttrattati bħala swiċċijiet tal-linja tal-kmand u mhumiex parti mill-ispeċifikazzjoni tal-pipeline. Is-swiċċijiet li ġejjin huma attwalment appoġġjati:

-keepnewline

Iżżomm linja ġdida għaddejja fil-produzzjoni tal-pipeline. Normalment linja ġdida għad-dħul ser titħassar.

-

Marki t-tmiem ta 'swiċċijiet. L-argument li jsegwi dan jiġi ttrattat bħala l-ewwel argument anki jekk jibda b'a.

Jekk arg (jew par ta ' arg ' s) għandu waħda mill-forom deskritti hawn taħt allura huwa użat minn exec biex jikkontrolla l-fluss ta 'input u output fost is-subproċess (i). Dawn l-argumenti ma jiġux mgħoddija lis-subproċess (i). F'forom bħal '` fileName ' ' fileName tista' jew tkun f'artikolu separat minn` `<'' jew fl-istess argument mingħajr spazju intermedjarju (jiġifieri` `< fileName ").

|

Jissejja kmandijiet distinti fil-pipeline. L-output standard tal-kmand preċedenti se jkun imdawwar fl-input standard tal-kmand li jmiss.

| &

Jissejja kmandijiet distinti fil-pipeline. Kemm il-produzzjoni standard kif ukoll l-iżball standard tal-kmand preċedenti se jiġu mdaħħla fl-input standard tal-kmand li jmiss. Din il-forma ta 'direzzjoni mill-ġdid tegħleb formoli bħal 2> u> &.

< fileName

Il-fajl imsemmi mill- fileName jinfetaħ u jintuża bħala l-input standard għall-ewwel kmand fil-pipeline.

<@ fileId

FileId għandu jkun l-identifikatur għal fajl miftuħ, bħall-valur tar-ritorn minn sejħa preċedenti biex jinfetaħ . Jintuża bħala l-input standard għall-ewwel kmand fil-pipeline. FileId kellu jinfetaħ għall-qari.

valur <<

Il-valur jgħaddi għall-ewwel kmand bħala l-input standard tiegħu.

> fileName

Ir-riżultat standard mill-aħħar kmand huwa ridirezzjonat għall-fajl imsemmi fileName , u jissostitwixxi l-kontenut preċedenti tiegħu.

2> fileName

Żball standard mill-kmandi kollha fil-pipeline huwa ridirettament għall-fajl imsemmi fileName , u jissostitwixxi l-kontenut preċedenti tiegħu.

> & fileName

Kemm il-produzzjoni standard mill-aħħar kmand u l-iżball standard mill-kmandi kollha jiġu ridirezzjonati għall-fajl imsemmi fileName , u jissostitwixxi l-kontenuti preċedenti tiegħu.

>> fileName

L-output standard mill-aħħar kmand huwa ridirezzjonat għall-fajl imsemmi fileName , li jżid miegħu aktar milli jissostitwixxih.

2 >> fileName

L-iżball standard mill-kmandi kollha fil-pipeline jiġi ridirezzjonat għall-fajl imsemmi fileName , li jżid miegħu aktar milli jissostitwixxih.

>> & fileName

Kemm il-produzzjoni standard mill-aħħar kmand u l-iżball standard mill-kmandi kollha huma diretti mill-ġdid għall-fajl imsejjaħ fileName , li jżid miegħu aktar milli jissostitwixxih.

> @ fileId

FileId għandu jkun l-identifikatur għal fajl miftuħ, bħall-valur tar-ritorn minn sejħa preċedenti biex jinfetaħ . L-output standard mill-aħħar kmand huwa ridirezzjonat għall-fajl tal-fajl tal-fajl, li kellu jinfetaħ għall-kitba.

2> @ fileId

FileId għandu jkun l-identifikatur għal fajl miftuħ, bħall-valur tar-ritorn minn sejħa preċedenti biex jinfetaħ . L-iżball standard mill-kmandi kollha fil-pipeline jiġi ridirezzjonat għall-fajl tal-fajl. Il-fajl irid ikun infetaħ għall-kitba.

> & @ fileId

FileId għandu jkun l-identifikatur għal fajl miftuħ, bħall-valur tar-ritorn minn sejħa preċedenti biex jinfetaħ . Iż-żewġ riżultati standard mill-aħħar kmand u l-iżball standard mill-kmandi kollha huma diretti mill-ġdid għall-fajl tal-fajl. Il-fajl irid ikun infetaħ għall-kitba.

Jekk il-produzzjoni standard ma ġietx diretta mill-ġdid allura l-kmand eżekuttiv jirritorna l-output standard mill-aħħar kmand fil-pipeline. Jekk xi wieħed mill-kmandi fil-pipeline joħorġu b'mod anormali jew jinqatlu jew jiġu sospiżi, allura l- eżekutur iġib lura żball u l-messaġġ ta 'żball ser jinkludi l-output tal-pipeline segwit minn messaġġi ta' żball li jiddeskrivu t-terminazzjonijiet anormali; il-varjabbli Kodiċi ta ' żball se jkun fih informazzjoni addizzjonali dwar l-aħħar terminazzjoni anormali li ltaqgħet magħha. Jekk xi wieħed mill-kmandi jikteb fil-fajl standard ta 'żball u dak l-iżball standard ma jiġix iddirezjat, allura l- eżekutur iġib lura żball; il-messaġġ ta 'żball ser jinkludi l-output standard tal-pipeline, segwit minn messaġġi dwar terminazzjonijiet anormali (jekk ikun hemm), segwiti mill-output ta' żball standard.

Jekk l-aħħar karattru tar-riżultat jew messaġġ ta 'żball huwa linja ġdida allura dak il-karattru normalment jitħassar mir-riżultat jew messaġġ ta' żball. Dan huwa konsistenti ma 'valuri oħra ta' ritorn Tcl, li normalment ma jispiċċawx b'linji ġodda. Madankollu, jekk -keepnewline hija speċifikata allura l-linja l-ġdida għadha għaddejja tinżamm.

Jekk l-input standard ma jerġax jiġi direzzjonat b'` `<'' jew` `<< '' jew` `<@ '' allura l-input standard għall-ewwel kmand fil-pipeline jittieħed mill-input standard attwali tal-applikazzjoni.

Jekk l-aħħar arg huwa `` & '' allura l-pipeline se jiġi eżegwit fl-isfond. F'dan il-każ il-kmand tal- eżekuzzjoni jġib lura lista li l-elementi tagħha huma l-identifikaturi tal-proċess għas-subproċessi kollha fil-pipeline. L-output standard mill-aħħar kmand fil-pipeline se jmur għall-output standard tal-applikazzjoni jekk ma jkunx ġie ridirezzjonat, u l-output tal-iżball mill-kmandi kollha fil-pipeline se jmorru għall-fajl standard tal-iżball tal-applikazzjoni sakemm ma jkunx imdawwar mill-ġdid.

L-ewwel kelma f'kull kmand tittieħed bħala l-isem tal-kmand; tilde-substitution issir fuqha, u jekk ir-riżultat ma jkunx fih slashes allura d-direttorji fil-varjabbli ta 'l-ambjent PATH huma mfittxija għal eżekutibbli bl-isem mogħti. Jekk l-isem fih slash allura għandu jirreferi għal eżekutibbli li tista 'tinkiseb mid-direttorju kurrenti. Ebda espansjoni ta '"glob" jew sostituzzjonijiet oħra simili għall-qoxra ma jitwettqu fuq l-argumenti għall-kmandi.

Kwistjonijiet ta 'Portabbiltà

Windows (il-verżjonijiet kollha)

Qari minn jew kitba f'socket, bl-użu tad-notazzjoni `` @ fileId '', ma taħdimx. Meta taqra minn sokit, applikazzjoni DOS ta '16-bit se tistrieħ u applikazzjoni ta' 32 bit terġa 'lura immedjatament ma' tmiem il-fajl. Meta kull tip ta 'applikazzjoni jikteb f'socket, l-informazzjoni minflok tintbagħat lill-console, jekk wieħed ikun preżenti, jew jintrema.

Il-widget tat-test tat-Tk console ma jipprovdix kapaċitajiet standard ta 'IO. Taħt Tk, meta tidderiġi mill-ġdid mill-input standard, l-applikazzjonijiet kollha se jaraw immedjatament il-fajl; l-informazzjoni tintbagħat mill-ġdid lejn produzzjoni standard jew żball standard tintrema.

Jew is-slashes 'il quddiem jew lura huma aċċettati bħala separaturi tat-triq għal argumenti għall-kmandi Tcl. Meta teżegwixxi applikazzjoni, l-isem tal-passaġġ speċifikat għall-applikazzjoni jista 'jkun fih ukoll slashes' il quddiem jew lura bħala separaturi tal-passaġġ. Madankollu, wieħed iżomm f'moħħu li l-biċċa l-kbira ta 'l-applikazzjonijiet tal-Windows jaċċettaw l-argumenti bit-trufijiet bil-quddiem biss bħala delimiters ta' l-għażla u linji invertit biss fil-mogħdijiet. Kwalunkwe argument għal applikazzjoni li tispeċifika l-isem tal-passaġġ bil-linji ta 'barra ta' quddiem ma jiġux awtomatikament ikkonvertiti biex jużaw il-karattru backslash. Jekk argument fih slashes 'il quddiem bħala s-separatur tal-passaġġ, jista' jew ma jistax jiġi rikonoxxut bħala isem tal-passaġġ, skond il-programm.

Barra minn hekk, meta ssejjaħ applikazzjoni DOS jew Windows 3.X ta '16-bit, l-ismijiet tat-triq għandhom jużaw il-format qasir u kriptiku tal-passaġġ (eż. Billi juża `` applba ~ 1.def' 'minflok `` applbakery.default' ' ).

Żewġ jew aktar slashes 'il quddiem jew' il quddiem b'firxa fi triq jirreferu għal mogħdija ta 'netwerk. Per eżempju, konkatenazzjoni sempliċi tad-direttorju ta 'l-għerq c: / b'sistema ta' subdirectory / twieqi / sistema twassal c: // twieqi / sistema (żewġ slashes flimkien), li tirreferi għall-punt tal-muntatura imsejjaħ sistema fuq il-magna imsejħa twieqi (u il- c: / hija injorata), u mhix ekwivalenti għal c: / twieqi / sistema , li tiddeskrivi direttorju fuq il-kompjuter kurrenti. Il-kmand tal- fajl jingħaqad għandu jintuża biex jgħaqqad il-komponenti tat-triq.

Windows NT

Meta tipprova tesegwixxi applikazzjoni, tesegwixxi l-ewwel tfittxijiet għall-isem kif ġie speċifikat. Imbagħad, sabiex, .com , .exe , u .bat huma mehmuża mat-tmiem tal-isem speċifikat u tfittex l-isem itwal. Jekk isem tad-direttorju ma kienx speċifikat bħala parti mill-isem tal-applikazzjoni, id-direttorji li ġejjin huma awtomatikament mfittxija sabiex jippruvaw isibu l-applikazzjoni:

Id-direttorju li minnu kien jitgħabba l-eżekutibbli Tcl.
Id-direttorju kurrenti.
Id-direttorju tas-sistema tal-Windows NT 32-bit.
Id-direttorju tas-sistema tal-Windows NT 16-bit.
Id-direttorju tad-dar tal-Windows NT.
Id-direttorji elenkati fit-triq.

Sabiex twettaq il-kmand tal-qoxra mibnija bħal dir u kopja , il-persuna li tagħmel iċempel trid tippreżenta " cmd.exe / c " "għall-kmand mixtieq.

Windows 95

Meta tipprova tesegwixxi applikazzjoni, tesegwixxi l-ewwel tfittxijiet għall-isem kif ġie speċifikat. Imbagħad, sabiex, .com , .exe , u .bat huma mehmuża mat-tmiem tal-isem speċifikat u tfittex l-isem itwal. Jekk isem tad-direttorju ma kienx speċifikat bħala parti mill-isem tal-applikazzjoni, id-direttorji li ġejjin huma awtomatikament mfittxija sabiex jippruvaw isibu l-applikazzjoni:

Id-direttorju li minnu kien jitgħabba l-eżekutibbli Tcl.
Id-direttorju kurrenti.
Id-direttorju tas-sistema tal-Windows 95.
Id-direttorju tad-dar tal-Windows 95.
Id-direttorji elenkati fit-triq.

Sabiex twettaq il-kmand tal-qoxra mibnija bħal dir u kopja , il-persuna li tagħmel iċempel għandha tippreżenta `` command.com / c '' għall-kmand mixtieq.

Ladarba applikazzjoni ta '16-bit DOS taqra input standard minn console u mbagħad tieqaf, kollha sussegwentement jimxu applikazzjonijiet ta' 16-bit DOS se tara l-input standard kif diġà magħluq. L-applikazzjonijiet ta '32 bit m'għandhomx din il-problema u se jimxu sewwa, anke wara li applikazzjoni DOS ta' 16-bit taħseb li l-input standard huwa magħluq. M'hemm l-ebda soluzzjoni magħrufa għal dan il-bug f'dan il-ħin.

Tmexxija mill-ġdid bejn l- NUL: apparat u applikazzjoni ta '16-bit mhux dejjem taħdem. Meta tidderiġi mill-ġdid minn NUL:, xi applikazzjonijiet jistgħu jitħallew, oħrajn se jiksbu fluss infinit ta '' '0x01' 'bytes, u xi wħud fil-fatt ikollhom b'mod korrett l-aħħar tarf tal-fajl; l-imġieba tidher tiddependi fuq xi ħaġa miġbura fir-rikjesta nfisha. Meta terġa 'tidderieġi aktar minn 4K jew aktar lil NUL:, xi applikazzjonijiet se jiddendlu. Il-problemi ta 'hawn fuq ma jseħħux b'applikazzjonijiet ta' 32 bit.

L-applikazzjonijiet kollha ta '16-bit DOS huma run synchronously. L-input standard kollu minn pajp għal applikazzjoni ta '16-bit DOS jinġabar f'fajl temporanju; it-tarf l-ieħor tal-pajp għandu jingħalaq qabel ma tibda l-eżekuzzjoni tal-applikazzjoni DOS ta '16-bit. L-output standard jew l-iżball minn applikazzjoni ta '16-bit DOS għal pajp jinġabar f'fajls temporanji; l-applikazzjoni għandha tintemm qabel ma l-fajls temporanji jiġu diretti mill-ġdid għall-istadju li jmiss tal-pipeline. Dan huwa riżultat ta 'soluzzjoni għall-bug Windows 95 fl-implimentazzjoni tal-pajpijiet, u huwa kif il-qafas tal-Windows 95 DOS standard jamministra l-pajpijiet innifsu.

Ċerti applikazzjonijiet, bħal command.com , m'għandhomx jitwettqu b'mod interattiv. Applikazzjonijiet li jaċċessaw direttament it-tieqa tal-console, minflok ma jaqraw mill-input u l-kitba standard tagħhom għall-output standard tagħhom jistgħu jonqsu, hang Tcl, jew saħansitra hang-sistema jekk il-tieqa tal-console privata tagħhom ma tkunx disponibbli għalihom.

Macintosh

Il-kmand tal- eżekuzzjoni mhux implimentat u ma jeżistix taħt Macintosh.

Unix

Il-kmand tal- eżekuzzjoni huwa kompletament funzjonali u jaħdem kif deskritt.

Ara ukoll

żball (n), miftuħ (n)

Kliem ewlieni

iwettaq, pipeline, redirection, subprocess

Importanti: Uża l-kmand tal- bniedem ( % raġel ) biex tara kif tintuża kmand fuq il-kompjuter partikolari tiegħek.