O que faz o comando interno no Bash?

Os comandos embutidos no Bash podem ser extremamente úteis, mas o que o próprio “embutido” realmente faz? O post de perguntas e respostas do superusuário de hoje tem a resposta para a pergunta de um leitor curioso.

A sessão de perguntas e respostas de hoje chega até nós como cortesia do SuperUser – uma subdivisão do Stack Exchange, um grupo de sites de perguntas e respostas voltado para a comunidade.

A questão

O leitor de superusuário lfalin deseja saber o que o comando embutido no Bash faz:

Eu sei o que é um comando interno, mas o que o próprio comando interno faz? Executar qual ls me mostra / bin / ls , mas executar qual builtin não retorna nada. man builtin apenas me dá uma lista de comandos embutidos, um dos quais está embutido . O resto da página do manual explica o que é um comando embutido, mas não o que é embutido em si. builtin –help me diz builtin: usage: builtin [shell-builtin [arg…]] , mas ainda não o que faz. É uma parte do Bash de uma maneira que outros comandos internos não são?

O que o comando embutido no Bash faz?

A resposta

O contribuidor do SuperUser Spiff tem a resposta para nós:

O comando embutido garante que você execute a versão embutida do shell do comando em vez de executar outro comando com o mesmo nome.

Por exemplo, imagine que você definiu uma função shell chamada cd para imprimir algum status extra toda vez que você muda de diretório, mas você bagunçou tudo e agora não pode mudar de diretório corretamente. Então, agora você pode digitar builtin cd ~ ao sucesso cd de volta para seu diretório home sem correr sua função de escudo quebrado.

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 comando embutido nessa seção (transcrito abaixo).


Tem algo a acrescentar à explicação? Som desligado nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui .

Recomendado:  Como usar o Uniswap com MetaMask no iPhone ou Android