echo é um comando embutido nos shells bash e C que grava seus argumentos na saída padrão.
Um shell é um programa que fornece a linha de comando (ou seja, a interface do usuário de exibição totalmente em texto) no Linux e em outros sistemas operacionais semelhantes ao Unix. Ele também executa (ou seja, executa) comandos que são digitados nele e exibe os resultados. bash é o shell padrão no Linux.
Um comando é uma instrução que diz a um computador para fazer algo. Um argumento são dados de entrada para um comando. A saída padrão é a tela de exibição por padrão, mas pode ser redirecionada para um arquivo, impressora, etc.
A sintaxe para echo é
echo
Os itens entre colchetes são opcionais. Uma string é qualquer sequência finita de caracteres (ou seja, letras, números, símbolos e sinais de pontuação).
Quando usado sem quaisquer opções ou strings, echo retorna uma linha em branco na tela de exibição seguida pelo prompt de comando na linha subseqüente. Isso ocorre porque pressionar a tecla ENTER é um sinal para o sistema iniciar uma nova linha e, portanto, o eco repete esse sinal.
Quando uma ou mais strings são fornecidas como argumentos, o echo, por padrão, repete essas picadas na tela. Assim, por exemplo, digitar o seguinte e pressionar a tecla ENTER faria com que o eco repetisse a frase Esta é uma caneta. na tela:
echo This is a pen.
Não é necessário colocar as strings entre aspas, pois isso não afeta o que está escrito na tela. Se aspas (simples ou duplas) forem usadas, elas não se repetirão na tela.
Felizmente, o echo pode fazer mais do que simplesmente repetir literalmente o que o segue. Ou seja, ele também pode mostrar o valor de uma variável particular se o nome da variável for precedido diretamente (ou seja, sem espaços intermediários) pelo caractere de dólar ($), que diz ao shell para substituir o valor da variável por seu nome.
Por exemplo, uma variável chamada x pode ser criada e seu valor definido como 5 com o seguinte comando:
x=5
O valor de x pode ser posteriormente recuperado da seguinte forma:
echo The number is $x.
O eco é particularmente útil para mostrar os valores do ambiente variáveis, que dizem ao shell como se comportar como um usuário trabalha na linha de comando ou em scripts (programas curtos).
Por exemplo, para ver o valor de HOME, o valor ambiental que mostra o diretório inicial do usuário atual, o seguinte seria usado:
echo $HOME
Da mesma forma, echo pode ser usado para mostrar o ambiente de PATH de um usuário variável, que contém uma lista separada por dois pontos dos diretórios que o sistema pesquisa para encontrar o programa executável correspondente a um comando emitido pelo usuário:
echo $PATH
echo, por padrão, segue qualquer saída com um caractere de nova linha. Este é um caractere não imprimível (ou seja, invisível) que representa o final de uma linha de texto e o início da próxima. É representado por \ n em sistemas operacionais do tipo Unix. O resultado é que o prompt de comando subsequente começa em uma nova linha em vez de na mesma linha que a saída retornada por echo.
A opção -e é usada para habilitar a interpretação de echo de instâncias adicionais do caractere de nova linha, bem como a interpretação de outros caracteres especiais, como uma guia horizontal, que é representada por \ t. Assim, por exemplo, o seguinte produziria uma saída formatada:
echo -e "\n Projects: \n\n\tplan \n\tcode \n\ttest\n"
(O comando acima deve ser escrito em uma única linha, embora possa renderizar como duas linhas em telas de exibição menores.) A opção -n pode ser usada para impedir que o echo adicione a nova linha à saída.
Fazendo uso do redirecionamento de saída, o echo fornece uma maneira muito simples de criar um novo arquivo que contém texto. Isso é feito digitando echo seguido do texto desejado, o operador de redirecionamento de saída (que é um colchete angular apontando para a direita) e, finalmente, o nome de t ele novo arquivo. O arquivo também pode ser formatado usando caracteres especiais. Assim, por exemplo, a saída formatada do exemplo acima pode ser usada para criar um novo arquivo chamado project1:
echo -e "\n Project1: \n\n\tplan \n\twrite \n\ttest\n" > project1
O conteúdo do novo arquivo, incluindo qualquer formatação, pode ser verificado usando um comando como cat ou menos, ou seja,,
less project1
echo também pode ser uma maneira conveniente de anexar texto ao final de um arquivo usando-o junto com o operador append, que é representado por dois colchetes angulares apontando para a direita consecutivos. No entanto, sempre existe o risco de usar acidentalmente um único colchete em vez de dois, substituindo assim todo o conteúdo do arquivo e, portanto, esse recurso é melhor reservado para uso em scripts.
echo também pode ser usado com correspondência de padrões, como o caractere curinga, que é representado pelo caractere estrela. Por exemplo, o seguinte retornaria a frase Os arquivos gif são seguidos pelos nomes de todos os arquivos de imagem .gif no diretório atual:
echo -e The gif files are *.gif
echo também é comumente usado para que um script de shell exiba uma mensagem ou instruções, como Digite Y ou N em uma sessão interativa com usuários.
O echo é desativado automaticamente quando as senhas são inseridas para que não sejam mostradas na tela.