exec kommando i Linux används för att utföra ett kommando från bash själv. Detta kommando skapar inte en ny process, det ersätter bara bash med kommandot som ska utföras. Om exec-kommandot lyckas återgår det inte till anropsprocessen.
Syntax:
exec ]
alternativ:
- c: det används för att utföra kommandot med Tom miljö.
- ett namn: används för att skicka ett namn som zeroth-argumentet för kommandot.
- l: används för att skicka streck som kommandot zeroth argument.
Obs: exec kommandot skapar inte en ny process. När vi kör exec-kommandot från terminalen ersätts den pågående terminalprocessen med kommandot som tillhandahålls som argument för exec-kommandot.
exec-kommandot kan användas i två lägen:
- Exec med ett kommando som argument: i det första läget försöker exec att utföra det som ett kommando som skickar de återstående argumenten, om några, till det kommandot och hantera omdirigeringar, om några.
exempel 1:
exempel 2:
exec-kommandot söker efter sökvägen som nämns i $PATH-variabeln för att hitta ett kommando som ska köras. Om kommandot inte hittas exec-kommandot såväl som skalet avslutas i ett fel.
- Exec utan kommando: om inget kommando levereras kan omdirigeringarna användas för att ändra den aktuella skalmiljön. Detta är användbart eftersom det tillåter oss att ändra filbeskrivarna på skalet enligt vår önskan. Processen fortsätter även efter exec-kommandot Till skillnad från föregående fall men nu ändras standardinmatningen, utmatningen och felet enligt omdirigeringarna.
exempel:
här ändrar exec-kommandot standarden ur skalet till tmp-filen och så skriver alla kommandon som körs efter exec-kommandot sina resultat i den filen. Detta är ett av de vanligaste sätten att använda exec utan några kommandon.