===== Exemplos do comando echo =====
==== Nível Básico ====
* **Imprimir uma mensagem no terminal:**
- echo "Olá, mundo!"
- Exibe a mensagem "Olá, mundo!" no terminal.
* **Imprimir o valor de uma variável:**
- nome="João"; echo $nome
- Atribui "João" à variável `nome` e exibe o valor.
* **Exibir o caminho atual do diretório:**
- echo $PWD
- Exibe o diretório atual onde você está no sistema.
* **Adicionar texto a um arquivo:**
- echo "Texto adicional" >> arquivo.txt
- Adiciona "Texto adicional" ao final de `arquivo.txt`.
* **Imprimir uma string sem adicionar uma nova linha ao final:**
- echo -n "Sem nova linha"
- Exibe a string "Sem nova linha" sem adicionar uma nova linha após o texto.
==== Nível Intermediário ====
* **Imprimir uma mensagem com tabulações e quebras de linha:**
- echo -e "Linha 1\n\tLinha 2 com tabulação\nLinha 3"
- Exibe uma string formatada com quebras de linha (`\n`) e tabulações (`\t`).
* **Exibir o resultado de um comando em uma string:**
- echo "Hoje é: $(date)"
- Exibe a mensagem "Hoje é:" seguida da data atual obtida pelo comando `date`.
* **Definir uma variável de ambiente e imprimir o valor:**
- export VARIAVEL="valor"; echo $VARIAVEL
- Define uma variável de ambiente e exibe o valor dela no terminal.
* **Criar um arquivo de configuração básico:**
- echo "alias ll='ls -alF'" >> ~/.bashrc
- Adiciona um alias no arquivo `~/.bashrc`, criando um atalho para o comando `ls -alF`.
* **Imprimir o conteúdo de uma variável em um arquivo:**
- VAR="Conteúdo do arquivo"; echo $VAR > arquivo.txt
- Escreve o valor da variável `VAR` em `arquivo.txt`.
==== Nível Avançado ====
* **Redirecionar saída para múltiplos arquivos ao mesmo tempo:**
- echo "Conteúdo importante" | tee arquivo1.txt arquivo2.txt
- Escreve a mensagem "Conteúdo importante" em dois arquivos simultaneamente.
* **Criar uma entrada no arquivo `/etc/hosts`:**
- echo "127.0.0.1\tlocalhost" | sudo tee -a /etc/hosts
- Adiciona a entrada "127.0.0.1 localhost" ao final do arquivo `/etc/hosts`.
* **Adicionar múltiplas linhas a um arquivo:**
- echo -e "Linha 1\nLinha 2\nLinha 3" > arquivo.txt
- Adiciona várias linhas a `arquivo.txt` de uma só vez.
* **Criar um script simples diretamente no terminal:**
- echo -e '#!/bin/bash\n echo "Este é um script"' > script.sh
- Cria um arquivo `script.sh` contendo um script bash básico.
* **Imprimir uma string com variáveis e cálculos aritméticos:**
- num1=5; num2=3; echo "A soma de $num1 e $num2 é $((num1 + num2))"
- Exibe a soma de duas variáveis e imprime o resultado.
==== Nível Especializado ====
* **Criar uma assinatura de arquivo criptografada:**
- echo "Conteúdo a ser assinado" | openssl dgst -sha256 -sign chave_privada.pem > assinatura.sig
- Gera uma assinatura digital de uma string com uma chave privada, salvando-a em `assinatura.sig`.
* **Definir variáveis de ambiente em sistemas de inicialização (como `/etc/environment`):**
- echo 'JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"' | sudo tee -a /etc/environment
- Adiciona a variável `JAVA_HOME` ao arquivo `/etc/environment`, para persistência entre reinicializações.
* **Substituir uma linha específica em um arquivo de configuração:**
- sed -i 's/OPCAO_ANTIGA/OPCAO_NOVA/' arquivo.conf; echo "Opção alterada para OPCAO_NOVA"
- Usa `sed` para substituir uma linha em um arquivo de configuração e exibe uma mensagem confirmando a mudança.
* **Gravar e exibir variáveis de ambiente personalizadas em um script de inicialização:**
- echo -e '#!/bin/bash\nexport MINHA_VAR="valor_customizado"\necho $MINHA_VAR' > meu_script.sh
- Cria um script que define e exibe uma variável de ambiente personalizada.
* **Enviar uma mensagem de log para o sistema:**
- echo "Erro crítico no sistema!" | systemd-cat -p err
- Envia uma mensagem de erro crítico para o `journalctl` do `systemd`, registrando no log do sistema.
* **Usar `echo` para gerar e enviar emails automaticamente:**
- echo -e "Assunto: Teste de email\n\nCorpo do email" | sendmail usuario@dominio.com
- Usa `echo` para gerar o conteúdo de um email e enviá-lo com `sendmail`.
* **Imprimir uma string que contém caracteres especiais (ex.: barra invertida, apóstrofo):**
- echo $'Caracteres especiais: barra \\ e apóstrofo \''
- Exibe uma string contendo caracteres especiais como barra invertida e apóstrofo, utilizando a sintaxe `$'...'`.
* **Definir uma mensagem de MOTD (Message of the Day) personalizada no sistema:**
- echo "Bem-vindo ao servidor de produção!" | sudo tee /etc/motd
- Adiciona uma mensagem de boas-vindas que será exibida para todos os usuários ao fazerem login no servidor.