echo (command)

echo começou no Multics. Depois de ter sido programado em C por Doug McIlroy como um “exercício de dedo” e provado ser útil, ele se tornou parte da Versão 2 do Unix. echo -n na versão 7 substituiu prompt, (que se comportou como echo, mas sem encerrar sua saída com um delimitador de linha).

No PWB / UNIX e posterior Unix System III, echo começou a expandir sequências de escape C, como \n com a diferença notável de que as sequências de escape octal foram expressas como \0ooo em vez de \ooo em C.

Oitava edição Unix echo só fez a expansão de escape quando passou uma opção -e, e esse comportamento foi copiado por algumas outras implementações, como o comando echo embutido do Bash ou zsh e GNU echo.

No MS-DOS, o comando está disponível nas versões 2 e posteriores.

Hoje em dia, várias implementações incompatíveis de echo existem em diferentes sistemas operacionais (muitas vezes vários no mesmo sistema), alguns deles expandindo sequências de escape por padrão, alguns deles não, alguns deles aceitando opções (a lista varia com as implementações), alguns deles não.

A especificação POSIX de echo deixa o comportamento não especificado se o primeiro argumento for -n ou qualquer argumento contiver caracteres de barra invertida enquanto a especificação Unix (opção XSI em POSIX) exige a expansão de (algumas) sequências e não permite o processamento de qualquer opção. Na prática, muitas echo implementações não são compatíveis com o ambiente padrão.

Devido a essas variações de comportamento, echo é considerado um comando não portátil em sistemas semelhantes ao Unix e o comando printf (quando disponível, introduzido pela Nona Edição Unix) é preferível.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *