Hvad gør det indbyggede kommando i bash?
De indbyggede kommandoer i Bash kan være yderst nyttige, men hvad gør "bygget" i sig selv egentlig? Dagens SuperUser Q & A-indlæg har svaret på en nysgerrig læsers spørgsmål.
Dagens Spørgsmål & Svar session kommer til os med venlig hilsen af SuperUser-en underafdeling af Stack Exchange, en community-driven gruppe af Q & A-websteder.
Spørgsmålet
SuperUser-læser lfalin vil vide, hvad den indbyggede kommando i Bash gør:
Jeg ved, hvad en indbygget kommando er, men hvad gør indbygget selv gør? Udfører hvilket ls viser mig / bin / ls, men henrettelse som indbygget returnerer intet. mand indbygget giver mig bare en liste over indbyggede kommandoer, hvoraf den ene er indbygget. Resten af mandsiden forklarer, hvad en indbygget kommando er, men ikke hvad indbygget sig selv er. builtin-help fortæller mig builtin: brug: builtin [shell-builtin [arg ...]], men stadig ikke hvad det gør. Er det en del af Bash på en måde, at andre indbyggede kommandoer ikke er?
Hvad gør den indbyggede kommando i Bash?
Svaret
SuperUser bidragyder Spiff har svaret for os:
Den indbyggede kommando sørger for, at du kører shell-indbygget version af kommandoen i stedet for at køre en anden kommando med samme navn.
For eksempel forestil dig, at du definerede en shell-funktion, der hedder cd at udskrive en ekstra status hver gang du skifter mapper, men du ødelagde det og nu kan du ikke ændre mapper korrekt. Så nu kan du skrive indbygget cd ~ til succes cd tilbage til dit hjemmekatalog uden at køre din ødelagte shell-funktion.
Af den måde har min kopi af Bash man siden et afsnit kaldet "SHELL BUILTIN COMMANDS", og det definerer betydningen af den indbyggede kommando i den sektion (transkriberet nedenfor).
Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Tjek den fulde diskussionstråd her.