Versão da shell e versão dos comandos

3

A página man do estado echo diz:

your shell may have its own version of echo...

O que significa exatamente e como verificar qual shell tem qual versão de eco?

    
por Mulligan 29.11.2016 / 17:08

2 respostas

2

Você pode verificar o seguinte: o comando

$ type -a echo
  echo is a shell builtin
  echo is /bin/echo

retorna all possíveis versões do comando em questão ( echo , no nosso caso); isso mostra que eu tenho ambos um executável chamado / bin / echo , e um shell embutido, ie um diferente comando dentro do meu shell com o mesmo nome, e realizando quase exatamente a mesma função.

Para saber qual deles é executado entre essas (duas) possibilidades, tente

 $ type -t echo
   builtin

que mostra que se você acabou de acertar echo something , o shell embutido será usado, não o arquivo executável / bin / echo . Se você insistir em usar o arquivo, tente

$ env echo something 

Para obter informações sobre man em qualquer versão, você deve usar

$ man echo

ou

$ info echo

para o arquivo executável / bin / echo e

$ help echo

para o shell embutido. A comparação dessas duas saídas mostrará suas diferenças.

    
por 29.11.2016 / 17:33
0

A maioria dos shells tem seu próprio echo embutido para acelerar o comando echo . Você pode verificar:

$ type echo
echo is a shell builtin
$ type printf
cp is a tracked alias for /bin/cp
    
por 29.11.2016 / 17:12

Tags