Qual é a diferença entre o comando built in echo e / bin / echo? [duplicado]

6

Eu estava brincando com os comandos type e which e descobri algo estranho.

type retorna o caminho ou diz que um comando é um Bash embutido. which retorna o caminho ou nada para ins integrados, como exit ou type

O que é estranho é que type echo diz que o eco é construído como eu esperava.

Mas which echo fornece / bin / echo como o caminho para o executável echo. Isso não parece acontecer com nenhum outro comando embutido.

Eu estou querendo saber qual é a diferença entre os dois, qual Bash escolherá executar nos scripts e na linha de comando, e qual é a história por trás dos dois ecos.

Meu sistema é o Ubuntu Desktop 12.04

    
por Arcana 13.10.2014 / 00:19

1 resposta

6

Há um echo embutido e um comando echo . Use type -a echo para ver todos eles.

Como o type em si é um shell interno, ele é capaz de saber sobre outros recursos internos.

E which é apenas um comando normal. Portanto, ele não sabe qual shell está usando e apenas informa sobre os comandos no disco.

Normalmente type é o comando correto para dizer o que acontece se você digitar alguma palavra no seu shell.

    
por 13.10.2014 / 00:27