Eu sei o que é um comando interno, mas o que builtin
ele faz? A execução which ls
me mostra /bin/ls
, mas a execução which builtin
não retorna nada.
man builtin
apenas me fornece uma lista de comandos internos, um dos quais é builtin
. O restante da página de manual explica o que é um builtin, mas não o que builtin
é.
builtin --help
me diz, builtin: usage: builtin [shell-builtin [arg ...]]
mas ainda não é o que faz.
É parte do bash de uma maneira que outros comandos internos não são?
help builtin
.which builtin
não retorna resultados, porquewhich
relata a localização dos comandos externos . Se você perguntar ao shelltype builtin
, ele lhe dirá, sem surpresa, issobuiltin is a shell builtin
. Você vai encontrar o mesmo comalias
,set
etc.builtin help builtin
Respostas:
O
builtin
comando garante que você execute a versão interna do comando em vez de executar outro comando com o mesmo nome.Por exemplo, digamos que você definiu uma função shell chamada
cd
para imprimir algum status extra toda vez que você altera os diretórios. Mas você estragou tudo e agora não pode alterar os diretórios corretamente. Portanto, agora você pode digitarbuiltin cd ~
com êxito o cd de volta para o diretório inicial sem executar a função de shell quebrada.E, a propósito, minha cópia da página de manual do bash tem uma seção chamada "SHELL BUILTIN COMMANDS" e define o significado do
builtin
comando nessa seção (transcrita abaixo).fonte
builtin
comando é realmente o bash do bash?builtin
, também:function builtin { echo "Hi from builtin :-)"; }
. Entãobuiltin
não funciona mais.type builtin
dirá se é realbuiltin
. A menos quetype
tenha sido substituído por umtype
...