Comando Echo no Shell Bash: Descubra os Muitos Usos

Como administrador, você pode regularmente executar o comando echo no Bash ao gerenciar um sistema Linux. Mas será que imprimir textos é tudo o que o comando echo pode oferecer?

Neste tutorial, você dará uma olhada mais de perto no comando echo e aprenderá alguns de seus exemplos práticos mais úteis.

Preparado? Fique ligado e reformule sua ideia sobre o comando echo!

Pré-requisito

Este tutorial compreende demonstrações práticas. Para acompanhar, você só precisa de uma máquina Ubuntu. Este tutorial usa o Ubuntu 20.04, mas outras distribuições Linux também funcionarão.

Imprimindo Strings com o Comando echo no Shell Bash

Quando você pensa no comando echo, a primeira coisa que vem à mente é imprimir valores de string no console. Sim, o comando echo retorna strings diretamente de um comando ou script.

Mas mais tarde neste tutorial, você verá o comando echo de uma maneira diferente. Por enquanto, veja como este comando imprime strings no console.

A sintaxe para o comando echo é a seguinte, onde:

  • string – o texto a ser impresso.
  • opções – os argumentos opcionais que você pode especificar para modificar a saída.
echo string options

Execute o comando echo abaixo sem adicionar opções para imprimir um texto simples no console. Este comando passa a string como um argumento para o comando echo.

echo "Echo command bash"
Printing a string to the console

Suprimindo Novas Linhas Finais em Strings

O comando echo adiciona um caractere de nova linha no final de cada string por padrão. Como resultado, ao imprimir várias strings, talvez conectando uma à outra, cada string é impressa em uma nova linha.

A opção -n suprime novas linhas finais, instruindo o comando echo a imprimir várias strings em uma única linha. Essa opção pode ser útil, por exemplo, ao imprimir barras de progresso no console.

Execute o comando abaixo para imprimir Progresso: e 50%.

echo -n "Progress: " && echo "50%"

Abaixo, você pode ver que as quebras de linha separam as duas strings.

echo command bash : newlines separate the two strings

Agora, execute o seguinte comando, acrescentando a opção -n, para imprimir as strings Progresso: e 50%.

echo -n "Progress: " && echo "50%"

Como você pode ver abaixo, ambas as strings estão agora em uma única linha, já que você usou a opção -n para suprimir as novas linhas.

Suppressing trailing newlines

Imprimindo Valores de Variáveis

Ao escrever um script, você normalmente armazena temporariamente um valor em uma variável, que pode imprimir com o comando echo. Essa função pode ser útil ao verificar o valor de uma variável para depurar um script de shell.

Execute os comandos abaixo para definir o valor da variável número como 10 e imprimir (echo) o valor no console.

# Armazena o valor de 10 na variável número
number=10
# Imprime o valor atual armazenado na variável número
echo The number is $number
Printing the Value of a Variable

Interpretando Sequências de Escape

Uma sequência de escape é uma série de caracteres que representam um caractere especial, e você pode usar a opção -e para interpretar sequências de escape.

Por exemplo, a sequência de escape \t representa um caractere de tabulação. Se você usar a opção -e e imprimir \t no console, \t será interpretado como um caractere de tabulação em vez de ser impresso literalmente.

Algumas das sequências de escape mais comuns são as seguintes:

Escape Sequence Function
\b backspace
\t tab
\n new line
\\ backslash
\$ dollar sign

Execute o seguinte comando para imprimir Hello\tWorld no console.

echo "Hello\tWorld"

Você pode ver abaixo que o comando echo imprimiu a sequência Hello\tWorld como está.

Printing a string without an escape sequence

Agora, execute o comando abaixo para imprimir Hello\tWorld, adicionando a opção -e para interpretar \t como um caractere de tabulação no meio.

echo -e "Hello\tWorld"

Observe abaixo o grande espaço entre as palavras Hello e World.

Interpreting an escape sequence

Inserindo Strings em uma Nova Linha

Imprimir uma longa linha única de string faz com que o usuário tenha dificuldade em ler sua totalidade. Felizmente, a opção \n permite adicionar um caractere de nova linha no meio de uma string. Esta opção é frequentemente usada ao imprimir várias linhas de texto no console, o que dá clareza ao texto real.

Execute o comando abaixo para imprimir a string Comando echo bash\nOutra linha, onde a opção \n quebra a string em duas linhas.

echo -e "Echo command bash\nAnother line"

Abaixo, você pode ver que a opção \n colocou a string Outra linha em uma nova linha.

Inserting a string into a new line

Inserindo Tabulações Verticais Entre Strings

Você viu como a sequência de escape \t coloca um caractere de tabulação horizontal entre strings. Mas e uma tabulação vertical? A opção \v permite separar strings em tabulações verticais, o que é perfeito para criar banners de texto.

Esta opção é frequentemente usada ao imprimir várias colunas de texto no console, com cada coluna em uma nova linha com um novo espaço de tabulação no início.

Execute o comando abaixo para imprimir o texto Echo command bash demo, mas com tabulações verticais (\v) entre cada palavra.

echo -e "Echo \vcommand \vbash \vdemo
Inserting vertical tabs in between strings

Imprimindo Nomes de Arquivos com Base na Extensão

Se você está procurando uma maneira de encontrar arquivos com um determinado tipo de arquivo type, esta funcionalidade do comando echo funciona da mesma forma. O comando echo suporta listar arquivos em um diretório com uma extensão específica com o caractere curinga (*).

1. Execute o seguinte comando para imprimir todos os arquivos que terminam com a extensão .txt no diretório atual.

echo *.txt
Printing all .txt files in the current directory

2. Em seguida, execute o comando abaixo para imprimir todos os arquivos que terminam com a extensão de arquivo .deb no diretório atual.

echo *.deb
Printing all .deb files in the current directory

3. Por último, execute o comando abaixo para imprimir os arquivos com a extensão .txt no diretório ~/Downloads. Você pode substituir ~/Downloads/ pelo caminho real do seu arquivo.

echo ~/Downloads/*.txt

Você pode ver abaixo que o comando echo suporta especificar um caminho de diretório onde seus arquivos estão localizados.

Finding .txt files in the specific directory

Escrevendo Saída para Arquivo

Quando seu comando retorna uma saída massiva, mal dá para ler tudo no console. Escrever a saída em um arquivo é uma ótima ideia. Mas como fazer isso? Além de imprimir textos no console, o comando echo também suporta escrever saídas diretamente em um arquivo.

Execute o comando abaixo, que não fornece saída, pois a saída é escrita (>) em um arquivo chamado echo-bash.txt em vez disso.

Observe que se o arquivo echo-bash.txt já existir, ele será sobrescrito com o novo conteúdo.

echo "echo command bash" > echo-bash.txt

Agora, execute o seguinte comando cat para visualizar o conteúdo do arquivo echo-bash.txt.

cat echo-bash.txt

Como você pode ver abaixo, a saída do comando echo é escrita no arquivo echo-bash.txt.

Verifying the output written to file

Anexando Saída a Arquivos Existentes

Como mencionado anteriormente, o operador > sobrescreve um arquivo existente com novo conteúdo. Mas e se você deseja anexar a saída a um arquivo existente em vez de sobrescrevê-lo?

Em vez de um único operador >, use dois >>. Este recurso ajuda a manter o conteúdo existente e a anexar novas entradas ao final do arquivo.

Execute o comando abaixo para anexar (>>) novos textos (Texto de anexação) ao arquivo existente echo-bash.txt.

echo "Appending text" >> echo-bash.txt

Agora, execute o seguinte comando cat para visualizar o conteúdo do arquivo echo-bash.txt.

cat echo-bash.txt

Como você pode ver abaixo, a saída do comando echo é anexada ao arquivo sem sobrescrever nada.

Appending output to an existing file

Conclusão

O comando echo no shell bash é uma ferramenta simples, mas poderosa, que pode ser usada de muitas maneiras. E neste tutorial, você aprendeu como maximizar o potencial do comando echo com algumas de suas opções mais populares.

Imprimir textos no console não é apenas ‘imprimir textos’ anymore. Você viu como escrever saída para um arquivo, anexar saídas e alterar a aparência de cada texto impresso.

Por que não escolher algumas maneiras de usar o comando echo e escrevê-las em seus scripts? Veja que maneiras criativas você pode encontrar!

Source:
https://adamtheautomator.com/echo-command-in-bash/