Skip to main content

Linux - Unix parancs: exec

How to install banner command in linux (Június 2026)

How to install banner command in linux (Június 2026)
Anonim

exec - Kérje az alprocessz (ek)

Szinopszis

exec? kapcsolók ? arg ? arg … ?

Leírás

Ez a parancs az argumentumait egy vagy több végrehajtandó alfolyamat specifikációjaként kezeli. Az érvek standard héjvezeték formájában vannak, ahol mindegyik arg egy parancs egyik szavává válik, és minden egyes parancs egy alprocesszé lesz.

Ha a kezdeti érvek aexec kezdeni valamivel- akkor parancssori kapcsolóként kezelik őket, és nem részei a csővezeték specifikációjának. A következő kapcsolók jelenleg támogatottak:

-keepnewline

A csővezeték kibocsátásának megmarad egy új sor. Normál esetben egy utólagos új sor törlődik.

--

Jelzi a kapcsolók végét. Az ezt követő érvet az elsőnek kell tekinteni arg még akkor is, ha az a-.

Ha egy arg (vagy pár arg 's) az alább leírt formák egyikét használja, majd ezt használjaexec a bemenet és a kimenet áramlásának vezérlése az alprocesszor (ok) között. Az ilyen érveket nem adják át az alprocessz (ek) nek. Olyan formákban, mint a `` < fájl név '' fájl név lehet egy külön érv "` <'' vagy ugyanabban az érvben, nincs beavatkozó hely (azaz `` < fájl név '').

|

Különálló parancsokat különít a csővezetékbe. Az előző parancs szabvány kimenete a következő parancs szabványos bemenetébe kerül.

|&

Különálló parancsokat különít a csővezetékbe. Az előző parancs szabványos kimenete és standard hibája a következő parancs szabvány bemenetére kerül. Az átirányításnak ez a formája felülírja a 2> és> & formátumokat.

< fájl név

A fájl neve: fájl név megnyitásra kerülnek, és a csővezeték első parancsának standard bemeneteként használják.

<@ fileId

FileId egy nyitott fájl azonosításának kell lennie, mint például a korábbi hívás visszatérési értékenyisd ki. A csatorna első parancsának standard bemenete. FileId olvasni kellett.

<< érték

Érték a szabványos bemenetként kerül az első parancsra.

> fájl név

Az utolsó parancs szabványos kimenete átkerül a megadott fájlra fájl név , felülírva korábbi tartalmát.

2> fájl név

A csővezetéken található összes parancs standard hibája átkerül a megadott fájlra fájl név , felülírva korábbi tartalmát.

>& fájl név

Mind az utolsó parancs, mind az összes parancs standard hibája átirányításra kerül a megadott fájlra fájl név , felülírva korábbi tartalmát.

>> fájl név

Az utolsó parancs szabványos kimenete átkerül a megadott fájlra fájl név , hozzáfűzve hozzá, nem pedig felülírva.

2>> fájl név

A csővezetéken található összes parancs standard hibája átkerül a megadott fájlra fájl név , hozzáfűzve hozzá, nem pedig felülírva.

>>& fájl név

Mind az utolsó parancs, mind az összes parancs standard hibája átirányításra kerül a megadott fájlra fájl név , hozzáfűzve hozzá, nem pedig felülírva.

>@ fileId

FileId egy nyitott fájl azonosításának kell lennie, mint például a korábbi hívás visszatérési értékenyisd ki. Az utolsó parancs kimenetének szabványos kimenete át lesz irányítva fileId 's fájl, amelyet meg kellett nyitni az íráshoz.

2>@ fileId

FileId egy nyitott fájl azonosításának kell lennie, mint például a korábbi hívás visszatérési értékenyisd ki. A csővezetéken lévő összes parancs standard hibája átkerül fileId fájl. A fájlt meg kellett nyitni az íráshoz.

>&@ fileId

FileId egy nyitott fájl azonosításának kell lennie, mint például a korábbi hívás visszatérési értékenyisd ki. Mind az utolsó parancs, mind az összes parancs standard hibája átirányításra kerül fileId fájl. A fájlt meg kellett nyitni az íráshoz.

Ha a szabványos kimenet nem lett átirányítva, akkor aexec parancs visszaküldi a szabványos kimenetet a csővezeték utolsó parancsjából. Ha a csővezeték valamelyik parancsja abnormálisan kilép, vagy megölték vagy felfüggesztették, akkorexec hibaüzenet jelenik meg, és a hibaüzenet tartalmazza a csővezeték kimenetét, amelyet követi a rendellenes végelzéseket leíró hibaüzenetek; ahibakód a változó további információkat tartalmaz az utolsó rendellenes megszüntetésről. Ha a parancsok bármelyike ​​a szabványos hibafájlba ír, és a standard hiba nem kerül átirányításra, akkorexec hibát ad vissza; a hibaüzenet tartalmazza a csővezeték standard kimenetét, majd az abnormális lezárásokról szóló üzeneteket (ha van ilyen), amelyet a szokásos hibakimenet követ.

Ha az eredmény vagy a hibaüzenet utolsó karaktere új sor, akkor a karakter általában törlődik az eredmény vagy a hibaüzenetből. Ez összhangban van más Tcl visszatérési értékekkel, amelyek általában nem fejeződnek be az újvonalakkal. Ha azonban-keepnewline meg van adva, akkor a visszahúzott újsor megmarad.

Ha a szabványos bemenet nem kerül átirányításra a `` <'' vagy `` << '' vagy `` <@ '' paranccsal, akkor a csővezeték első parancsának standard bemenete az alkalmazás jelenlegi szabványos bemenetéből származik.

Ha az utolsó arg `` & '', akkor a csővezeték háttérben kerül végrehajtásra. Ebben az esetben aexecparancs visszaküldi a listát, amelynek elemei a folyamat összes azonosítója a folyamatban lévő összes alfolyamathoz.A csővezeték utolsó parancsának szabványos kimenete az alkalmazás szabványos kimenetére változik, ha nem lett átirányítva, és a csővezeték összes parancsának hibája az alkalmazás szabványos hiba fájljába kerül, kivéve ha átirányításra kerül.

Minden parancs első mondata a parancsnév; tilde helyettesítést végzünk rajta, és ha az eredmény nem tartalmaz csíkokat, akkor a PATH környezeti változó könyvtárai a megadott névhez keresnek egy végrehajtható fájlt. Ha a név egy perjelet tartalmaz, akkor az aktuális könyvtárból elérhető végrehajtható fájlra kell hivatkoznia. Nincsenek `` glob '' kiterjesztés vagy más shell-szerű helyettesítések az argumentumokra a parancsokra.

Hordozhatósági kérdések

ablakok (minden verzió)

Olvasás vagy írás a foglalatba, a `` gombbal@ fileId '' jelölés, nem működik. Aljzatról történő olvasáskor egy 16 bites DOS alkalmazás lefagy, és egy 32 bites alkalmazás azonnal visszatér a fájl végével. Ha az alkalmazás bármelyik típusa egy foglalatra ír, akkor az információt helyette a konzolba küldi, ha van jelen, vagy eldob.

A Tk konzol szöveg widget nem nyújt valós szabványos IO képességeket. A Tk alatt a szabványos bemenetről való átirányítás esetén az összes alkalmazás azonnali fájl végét fogja látni; a szabványos kimenetre vagy standard hibára átirányított információ el fog kerülni.

Vagy előre vagy hátra vágott perjelek fogadhatók el a Tcl parancsok argumentumaihoz. Alkalmazás végrehajtása esetén az alkalmazáshoz megadott elérési út tartalmazhat előre- vagy hátra vágott sávokat is. Ne feledje azonban, hogy a legtöbb Windows-alkalmazás elfogadja az argumentumokat, csak az opcióhatárolókat és a visszalövéseket csak az elérési útvonalakon. Bármely argumentum egy alkalmazáshoz, amely megadja az elérési útvonalként megadott elérési utat, nem kerül automatikusan konvertálásra a visszalépési karakter használatával. Ha egy argumentum az útvonalválasztó elülső sávjait tartalmazza, akkor a programtól függően lehet, vagy nem ismerhető fel útválasztó neveként.

Továbbá, ha 16 bites DOS vagy Windows 3.X alkalmazást hív meg, minden elérési útnak el kell használnia a rövid, rejtélyes útvonalformátumot (pl. "Applba ~ 1.def" helyett "applbakery.default" ).

Két vagy több előretekerés vagy elmaradott perjel egy sorban egy elérési útvonalon utal egy hálózati elérési útra. Például a gyökérkönyvtár egyszerű összekapcsolásac: / egy alkönyvtárral/ Windows / system leszc: // windows / system (két csík együtt), amely a hivatkozott csatolási pontra utalrendszer a gépenablakok (és ac: / figyelmen kívül hagyja), és nem egyenértékűc: / windows / system, amely leírja a jelenlegi számítógépen lévő könyvtárat. Afájl csatlakozás parancsot az ösvénykomponensek összekapcsolásához kell használni.

Windows NT

Amikor egy alkalmazás végrehajtására próbálkozik,exec először a megadott nevet keresi. Aztán,.com, .alkalmazás, és.denevér a megadott név végéhez csatolva, és hosszabb nevet keres. Ha a könyvtár nevét nem az alkalmazásnév részeként adta meg, az alábbi könyvtárakat automatikusan keresik az alkalmazás megkeresése során:

A könyvtár, ahonnan a Tcl végrehajtható fájl lett betöltve.Az aktuális könyvtár.A Windows NT 32 bites rendszerkönyvtár.A Windows NT 16 bites rendszerkönyvtára.A Windows NT kezdőkönyvtára.Az útvonalon felsorolt ​​könyvtárak.

Annak érdekében, hogy végrehajtsa a shell beépített parancsokat, mint példáuldir ésmásolat, a hívónak előzetesen fel kell tüntetnie a `` címetcmd.exe / c'' a kívánt parancsra.

Windows 95

Amikor egy alkalmazás végrehajtására próbálkozik,exec először a megadott nevet keresi. Aztán,.com, .alkalmazás, és.denevér a megadott név végéhez csatolva, és hosszabb nevet keres. Ha a könyvtár nevét nem az alkalmazásnév részeként adta meg, az alábbi könyvtárakat automatikusan keresik az alkalmazás megkeresése során:

A könyvtár, ahonnan a Tcl végrehajtható fájl lett betöltve.Az aktuális könyvtár.A Windows 95 rendszer könyvtárában.A Windows 95 főkönyvtár.Az útvonalon felsorolt ​​könyvtárak.

Annak érdekében, hogy végrehajtsa a shell beépített parancsokat, mint példáuldir ésmásolat, a hívónak előzetesen fel kell tüntetnie a `` címetcommand.com / c'' a kívánt parancsra.

Miután egy 16 bites DOS alkalmazás megolvasta a konzolból származó szabványos bemenetet, majd kilépett, az ezt követő 16 bites DOS alkalmazások a standard bemenetet már lezárt állapotban látják. A 32 bites alkalmazásoknak nincsen ez a hiba, és a 16 bites DOS alkalmazás után is megfelelően fog működni, úgy gondolja, hogy a szabványos bemenet zárva van. Jelenleg nincs ismert megoldás erre a hibára.

Átirányítás aNUL: eszköz és a 16 bites alkalmazás nem mindig működik. ÁtirányításkorNUL:, egyes alkalmazások lefagyhatnak, mások végtelen számú "0x01" bájtot kapnak, és néhányan valójában helyesen kapnak azonnali fájlt; a viselkedés úgy tűnik, hogy magától függ, valamit össze a alkalmazás maga. Ha 4K-nál nagyobb átirányítás történikNUL:, néhány alkalmazás lefagy. A fenti problémák nem fordulnak elő a 32 bites alkalmazásokkal.

Minden DOS 16 bites alkalmazást szinkronban futtatnak. A cső és a 16 bites DOS alkalmazás összes szabványos bemenete ideiglenes fájlba kerül; a cső másik végét le kell zárni, mielőtt a 16 bites DOS alkalmazás megkezdődik.Minden szabványos kimenet vagy hiba egy 16 bites DOS alkalmazásból egy csőbe ideiglenes fájlokba kerül; az alkalmazásnak meg kell szakítania, mielőtt az ideiglenes fájlokat átirányítaná a csővezeték következő szakaszára. Ennek oka a Windows 95 hibájának megkerülése a csövek végrehajtásában, és az, hogy a szokásos Windows 95 DOS shell hogyan kezeli a csöveket.

Egyes alkalmazások, példáulcommand.com, nem kell interaktív módon végrehajtani. Azon alkalmazások, amelyek közvetlenül elérik a konzolablakot, és nem szabványos bemenetről olvasnak, és a szabványos kimenetükre írnak, sikertelenek lehetnek, lefagyhatják a Tcl-et, vagy akár fel is kapcsolhatják a rendszert, ha saját privát konzolablakuk nem áll rendelkezésükre.

Macintosh

Aexec parancs nem működik, és nem létezik a Macintosh alatt.

Unix

Aexec parancs teljesen működőképes és a leírtak szerint működik.

Lásd még

hiba (n), nyitott (n)

Kulcsszavak

végrehajt, csővezeték, átirányítás, alfolyamat

Fontos: Használja a Férfi parancs ( % Férfi ), hogy lássa, hogyan használják a parancsot az adott számítógépen.