exec příkaz v Linuxu se používá k provedení příkazu bash sám. Tento příkaz nevytváří nový proces, pouze nahradí bash příkazem, který má být proveden. Pokud je příkaz exec úspěšný, nevrátí se k procesu volání.
syntaxe:
exec ]
možnosti:
- c: používá se k provedení příkazu s prázdným prostředím.
- název: používá se k předání jména jako nulového argumentu příkazu.
- l: používá se k předání pomlčky jako nulového argumentu příkazu.
Poznámka: příkaz exec nevytváří nový proces. Když spustíme příkaz exec z terminálu, probíhající proces terminálu je nahrazen příkazem, který je poskytnut jako argument pro příkaz exec.
exec příkaz může být použit ve dvou režimech:
- Exec s příkazu jako argument: V prvním režimu, exec snaží spustit to jako příkaz absolvování zbývající argumenty, pokud vůbec nějaké, že velení a řízení přesměrování, pokud existuje.
Příklad 1:
příklad 2:
exec příkaz prohledává cestu uvedených v $PATH proměnné najít příkaz, který má být popraven. Pokud příkaz není nalezen příkaz exec, stejně jako shell ukončí chybu.
- Exec bez příkazu: pokud není zadán žádný příkaz, lze přesměrování použít k úpravě aktuálního prostředí shellu. To je užitečné, protože nám umožňuje měnit deskriptory souborů shellu podle našeho přání. Proces pokračuje i po příkazu exec na rozdíl od předchozího případu, ale nyní jsou standardní vstup, výstup a chyba upraveny podle přesměrování.
Příklad:
Zde exec příkaz změny normy z shell do souboru tmp, a tak všechny příkazy provedeny po exec příkaz psát své výsledky v tomto souboru. Jedná se o jeden z nejběžnějších způsobů použití exec bez příkazů.