exec commando in Linux wordt gebruikt om een commando uit te voeren vanaf de bash zelf. Dit commando maakt geen nieuw proces aan, het vervangt alleen de bash door het uit te voeren commando. Als het commando exec succesvol is, keert het niet terug naar het aanroepproces.gebruik:
exec ]
opties:
- c: het wordt gebruikt om het commando uit te voeren met een lege omgeving.
- een naam: wordt gebruikt om een naam door te geven als het Nulde argument van het commando.
- l: wordt gebruikt om dash door te geven als het Nulde argument van het commando.
opmerking: het commando exec maakt geen nieuw proces aan. Wanneer we het exec commando vanuit de terminal uitvoeren, wordt het lopende terminalproces vervangen door het commando dat wordt geleverd als argument voor het exec Commando.
het exec-commando kan in twee modi worden gebruikt:
- Exec met een commando als argument: in de eerste modus probeert het exec het uit te voeren als een commando dat de resterende argumenten, indien aanwezig, doorgeeft aan dat commando en de omleidingen, indien aanwezig, beheert.
Voorbeeld 1:
Voorbeeld 2:
het exec-Commando zoekt het pad in de variabele $PATH om een uit te voeren opdracht te vinden. Als het commando niet gevonden wordt, wordt zowel het exec commando als de shell met een fout afgesloten.
- Exec zonder een opdracht: als er geen opdracht wordt gegeven, kunnen de omleidingen worden gebruikt om de huidige shell-omgeving te wijzigen. Dit is nuttig omdat het ons in staat stelt om de bestandsdescriptors van de shell te veranderen volgens onze wens. Het proces gaat zelfs na het exec Commando verder in tegenstelling tot het vorige geval, maar nu worden de standaard invoer, uitvoer en fout aangepast volgens de omleidingen.
voorbeeld:
Hier verandert het exec-commando de standaard uit de shell naar het tmp-bestand en schrijven alle commando ‘ s die na het exec-Commando worden uitgevoerd hun resultaten in dat bestand. Dit is een van de meest voorkomende manieren om exec zonder commando ‘ s te gebruiken.