I know what a builtin command is, but what does builtin
itself do? Executing which ls
shows me /bin/ls
, but executing which builtin
returns nothing.
man builtin
just gives me a list of builtin commands, one of which is builtin
. The rest of the man page explains what a builtin is, but not what builtin
is.
builtin --help
tells me builtin: usage: builtin [shell-builtin [arg ...]]
but still not what it does.
Is it part of bash in a way that other builtin commands aren't?
Best Answer
The
builtin
command makes sure you run the shell built-in version of the command rather than running another command with the same name.For example, let's say you defined a shell function named
cd
to print some extra status everytime you change directories. But you messed it up and now you can't change directories correctly. So now you can typebuiltin cd ~
to successfully cd back to your home directory without running your broken shell function.And by the way, my copy of the bash man page has a section called "SHELL BUILTIN COMMANDS", and it defines the meaning of the
builtin
command in that section (transcribed below).