exec parancs Linux használják, hogy végre egy parancsot a bash magát. Ez a parancs nem hoz létre új folyamatot, csak helyettesíti a bash-t a végrehajtandó paranccsal. Ha az exec parancs sikeres, akkor nem tér vissza a hívási folyamatba.
szintaxis:
exec ]
opciók:
- c: a parancs üres környezetben történő végrehajtására szolgál.
- a name: használt átadni egy nevet, mint a Zeroth argumentum a parancs.
- l: a dash-t a parancs zeroth argumentumaként adja át.
Megjegyzés: Az exec parancs nem hoz létre új folyamatot. Amikor futtatjuk az exec parancsot a terminálról, a folyamatban lévő terminálfolyamatot az exec parancs argumentumaként megadott parancs váltja fel.
az exec parancs két módban használható:
- Exec egy paranccsal argumentumként: az első módban az exec megpróbálja végrehajtani parancsként, átadva a többi argumentumot, ha van ilyen, a parancshoz, és kezelve az átirányításokat, ha van ilyen.
1. példa:
2. példa:
az exec parancs megkeresi a $PATH változóban említett elérési utat, hogy megtalálja a végrehajtandó parancsot. Ha a parancs nem található az exec parancs, valamint a shell kilép egy hiba.
- Exec parancs nélkül: ha nincs parancs, az átirányítások lehet használni, hogy módosítsa az aktuális shell környezetben. Ez azért hasznos, mert lehetővé teszi számunkra, hogy változtassuk meg a shell fájlleíróit a vágyunk szerint. A folyamat még az exec parancs után is folytatódik, ellentétben az előző esettel, de most a standard bemenet, kimenet, hiba az átirányítások szerint módosul.
példa:
itt az exec parancs megváltoztatja a szabványt a héjból a tmp fájlba, így az exec parancs után végrehajtott összes parancs írja be az eredményeket a fájlba. Ez az egyik leggyakoribb módja az exec parancsok nélküli használatának.