Como usar o comando Echo no Linux

Uma janela de terminal Linux em uma área de trabalho com o tema Ubuntu.
Fatmawati Achmad Zaenuri / Shutterstock

O echocomando é perfeito para escrever texto formatado na janela do terminal. E não precisa ser texto estático. Ele pode incluir variáveis ​​de shell, nomes de arquivos e diretórios. Você também pode redirecionar o eco para criar arquivos de texto e arquivos de log. Siga este guia simples para descobrir como.

Echo repete o que você diz para repetir

Zeus gostava de deixar o Monte Olimpo para se casar com belas ninfas. Em uma viagem, ele disse a uma ninfa da montanha chamada Eco para atacar sua esposa , Hera, se ela o seguisse. Hera veio procurar Zeus, e Echo fez tudo o que podia para manter Hera conversando. Finalmente, Hera perdeu a paciência e amaldiçoou a pobre Echo para que ela apenas repetisse as últimas palavras que outra pessoa havia dito. O que Hera fez com Zeus quando o alcançou é uma incógnita.

E isso, basicamente, é echomuito na vida. Ele repete o que foi dito para repetir . É uma função simples, mas vital. Sem echo, não seríamos capazes de obter uma saída visível de scripts de shell, por exemplo.

Embora não esteja sobrecarregado com uma infinidade de sinos e assobios, há uma boa chance de que echotenha alguns recursos que você não conhecia ou que esqueceu.

eco? eco!

A maioria dos sistemas Linux oferece duas versões do echo. O shell Bash tem o seu próprio echointegrado e também há uma versão executável binária do echo.

Podemos ver as duas versões diferentes usando os seguintes comandos:

digite eco
where is echo

digite echo em uma janela de terminal

O typecomando nos diz se o comando que passamos para ele como seu argumento é um shell embutido, um executável binário, um alias ou uma função. Ele nos relata que echoé um shell embutido.

Recomendado:  Como desativar o handoff em seu iPhone e Mac

Assim que encontrar uma resposta, typepara de procurar outras correspondências. Portanto, não nos diz se existem outros comandos com o mesmo nome presentes no sistema. Mas nos diz qual encontra primeiro. E esse é o que será usado por padrão quando emitirmos esse comando.

Os whereisolhares de comando para o binário executável, o código fonte e página man para o comando passamos a ele como a sua linha de comando parâmetro . Ele não procura por shell builtins porque eles não têm um executável binário separado. Eles são parte integrante do executável Bash.

O whereiscomando relata que echoé um executável binário localizado no /bindiretório.

Para usar essa versão, echovocê precisaria chamá-la explicitamente, fornecendo o caminho para o executável na linha de comando:

/ bin / echo --version

/ bin / echo --version em uma janela de terminal

O shell embutido não sabe qual é o --versionargumento da linha de comando, apenas o repete na janela do terminal:

echo --version

echo --version em uma janela de terminal

Todos os exemplos mostrados aqui usam a versão padrão do echo, no shell Bash.

Escrevendo Texto no Terminal

Para escrever uma string simples de texto na janela do terminal, digite echoe a string que deseja exibir:

echo Meu nome é Dave.

echo Meu nome é Dave.  em uma janela de terminal

O texto é repetido para nós. Mas, à medida que você experimenta, logo descobrirá que as coisas podem ficar um pouco mais complicadas. Veja este exemplo:

echo Meu nome é Dave e sou um geek.

echo Meu nome é Dave e sou um geek.  em uma janela de terminal

A janela do terminal exibe uma   > placa e fica lá, esperando. Ctrl + C o levará de volta ao prompt de comando. O que aconteceu lá?

A aspa simples ou apóstrofo na palavra “Estou” confusa echo. Ele interpretou essa aspa simples como o início de uma seção de texto citada. Porque ele não detectou uma aspa única de fechamento,  echoestava esperando por mais informações. Esperava-se que outras entradas incluíssem a aspa simples que estava faltando.

Recomendado:  Como usar o gerenciador de tarefas integrado do Firefox

Para incluir uma aspa simples em uma string, a solução mais simples é envolver toda a string entre aspas duplas:

echo "Meu nome é Dave e eu sou um geek."

echo "Meu nome é Dave e eu sou um geek."  em uma janela de terminal

Quebrar seu texto entre aspas duplas é um bom conselho geral. Em scripts, ele delimita claramente os parâmetros para os quais você está passando echo. Isso torna a leitura – e depuração – de scripts muito mais fácil.

E se você quiser incluir um caractere de aspas duplas em sua string de texto? Isso é fácil, basta colocar uma barra invertida \antes das aspas duplas (sem espaço entre elas).

echo "Meu nome é Dave e eu sou um \" geek. \ """"