Hemsida » hur » Vad gör det inbyggda kommandot i bash?

    Vad gör det inbyggda kommandot i bash?

    De inbyggda kommandon i Bash kan vara mycket användbara, men vad gör "inbyggda" i sig själva? Dagens SuperUser Q & A inlägg har svaret på en nyfiken läsarens fråga.

    Dagens Question & Answer-session kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.

    Frågan

    SuperUser-läsaren lfalin vill veta vad det inbyggda kommandot i Bash gör:

    Jag vet vad ett inbyggt kommando är, men vad gör det inbyggt själv gör? exekvera vilken ls visar mig / bin / ls, men exekvering vilken inbyggd returnerar ingenting. man inbyggd ger mig bara en lista med inbyggda kommandon, varav en är inbyggt. Resten av mansidan förklarar vad ett inbyggt kommando är, men inte vad inbyggt själv är. builtin-help berättar för mig builtin: användning: builtin [shell-builtin [arg ...]], men fortfarande inte vad det gör. Är det en del av Bash på ett sätt som andra inbyggda kommandon inte är?

    Vad gör det inbyggda kommandot i Bash?

    Svaret

    SuperUser-bidragare Spiff har svaret för oss:

    Det inbyggda kommandot ser till att du kör den inbyggda versionen av kommandot i stället för att köra ett annat kommando med samma namn.

    Tänk dig att du definierade en skalfunktion som heter CD att skriva ut lite extra status varje gång du byter kataloger, men du förstörde det och nu kan du inte ändra kataloger korrekt. Så nu kan du skriva inbyggd cd ~ att lyckas CD tillbaka till din hemkatalog utan att köra din brutna skalfunktion.

    Förresten har min kopia av Bash man-sidan en sektion som heter "SHELL BUILTIN COMMANDS", och den definierar innebörden av det inbyggda kommandot i det avsnittet (transkriberat nedan).


    Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.