De ingebouwde commando’s in Bash kunnen buitengewoon handig zijn, maar wat doet “builtin” zelf eigenlijk? De SuperUser Q & A-post van vandaag biedt het antwoord op de vraag van een nieuwsgierige lezer.
De Vraag & Antwoord-sessie van vandaag komt tot ons dankzij SuperUser – een onderdeel van Stack Exchange, een community-gedreven groepering van Q & A-websites.
De vraag
SuperUser-lezer lfalin wil weten wat het ingebouwde commando in Bash doet:
Ik weet wat een ingebouwd commando is, maar wat doet het ingebouwd zelf doen? Uitvoeren welke ls laat me zien / bin / ls, maar uitvoeren welke ingebouwd geeft niets terug. man ingebouwd geeft me gewoon een lijst met ingebouwde commando’s, waarvan er één is ingebouwd. De rest van de man-pagina legt uit wat een ingebouwd commando is, maar niet wat ingebouwd zelf is. ingebouwd – help verteld mij ingebouwd: gebruik: ingebouwd [shell-builtin [arg …]], maar nog steeds niet wat het doet. Is het een onderdeel van Bash op een manier die andere ingebouwde commando’s niet zijn?
Wat doet het ingebouwde commando in Bash?
Het antwoord
SuperUser-bijdrager Spiff heeft het antwoord voor ons:
Het ingebouwde commando zorgt ervoor dat u de ingebouwde shell-versie van het commando uitvoert in plaats van een ander commando met dezelfde naam uit te voeren.
Stel je voor dat je een shell-functie hebt gedefinieerd met de naam CD om elke keer dat je van directory verandert wat extra status af te drukken, maar je hebt het verprutst en nu kun je de directories niet correct wijzigen. Dus nu kun je typen ingebouwde cd ~ met succes CD terug naar je homedirectory zonder je kapotte shell-functie uit te voeren.
Trouwens, mijn exemplaar van de Bash man-pagina heeft een sectie genaamd “SHELL BUILTIN COMMANDS”, en het definieert de betekenis van het ingebouwde commando in die sectie (hieronder getranscribeerd).
Iets toe te voegen aan de uitleg? Geluid uit in de reacties. Wilt u meer antwoorden lezen van andere technisch onderlegde Stack Exchange-gebruikers? Bekijk hier de volledige discussiethread.