===== 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.