eksekveringskommando bruges til at udføre en kommando fra selve bash. Denne kommando opretter ikke en ny proces, den erstatter bare bash med kommandoen, der skal udføres. Hvis eksekveringskommandoen er vellykket, vender den ikke tilbage til opkaldsprocessen.
syntaks:
exec ]
indstillinger:
- c: det bruges til at udføre kommandoen med tomt miljø.
- et navn: bruges til at videregive et navn som nulargumentet for kommandoen.
- l: bruges til at passere dash som nulargumentet for kommandoen.
Bemærk: eksekveringskommando opretter ikke en ny proces. Når vi kører eksekveringskommandoen fra terminalen, erstattes den igangværende terminalproces med den kommando, der leveres som argument for eksekveringskommandoen.
eksekveringskommandoen kan bruges i to tilstande:
- eksekver med en kommando som argument: i den første tilstand forsøger eksekvereren at udføre den som en kommando, der overfører de resterende argumenter, hvis nogen, til den kommando og administrerer omdirigeringerne, hvis nogen.
eksempel 1:
eksempel 2:
eksekveringskommandoen søger den sti, der er nævnt i variablen $PATH for at finde en kommando, der skal udføres. Hvis kommandoen ikke findes eksekveringskommandoen såvel som skallen afslutter i en fejl.
- Udfør uden kommando: hvis der ikke leveres nogen kommando, kan omdirigeringerne bruges til at ændre det aktuelle shell-miljø. Dette er nyttigt, da det giver os mulighed for at ændre filbeskrivelserne på skallen efter vores ønske. Processen fortsætter selv efter eksekveringskommandoen i modsætning til det foregående tilfælde, men nu ændres standardindgangen, output og fejl i henhold til omdirigeringerne.
eksempel:
Her ændrer eksekveringskommandoen standarden ud af skallen til tmp-filen, og så skriver alle kommandoer, der udføres efter eksekveringskommandoen, deres resultater i den fil. Dette er en af de mest almindelige måder at bruge eksekver uden kommandoer.