Skip to main content

Criação de arquivo com echo | Criar arquivo com echo | Tarefas rotineiras | Linux

  • Criação de arquivo com echo | Criar arquivo com echo | Tarefas rotineiras | Linux

Visão geral

O comando echo é usado para escrever texto no terminal ou redirecionar conteúdo para arquivos.

Ele é amplamente utilizado em:

  • scripts (.sh)
  • pipelines (CI/CD)
  • criação de arquivos .env
  • geração dinâmica de configs

Criar um arquivo com conteúdo

✔️ Forma básica

echo "conteudo" > arquivo.txt

Resultado

  • cria o arquivo se não existir
  • sobrescreve se já existir

⚠️ Sobrescrita (importante)

echo "novo valor" > arquivo.txt

👉 apaga o conteúdo anterior


Adicionar conteúdo sem sobrescrever

✔️ Append (mais usado)

echo "nova linha" >> arquivo.txt

Resultado

  • mantém conteúdo existente
  • adiciona nova linha no final

Criar múltiplas linhas

✔️ Usando vários echo

echo "linha 1" > arquivo.txt
echo "linha 2" >> arquivo.txt
echo "linha 3" >> arquivo.txt

✔️ Usando bloco (melhor prática)

{
echo "linha 1"
echo "linha 2"
echo "linha 3"
} > arquivo.txt

👉 mais limpo 👉 evita múltiplos redirects


Criar arquivo .env

✔️ Exemplo prático

echo "DB_HOST=localhost" > .env
echo "DB_USER=admin" >> .env
echo "DB_PASS=123456" >> .env

✔️ Forma mais organizada

{
echo "DB_HOST=localhost"
echo "DB_USER=admin"
echo "DB_PASS=123456"
} > .env

Variáveis dentro do echo

NOME="adolfo"

echo "usuario=$NOME" > arquivo.txt

Evitar expansão de variável (literal)

echo 'usuario=$NOME' > arquivo.txt

👉 escreve literalmente $NOME


Quebra de linha

✔️ Com -e

echo -e "linha1\nlinha2" > arquivo.txt

Espaços e formatação

echo "  texto com espaço" > arquivo.txt

👉 mantém espaços


Criar arquivo vazio

echo "" > arquivo.txt

ou melhor:

touch arquivo.txt

Permissões (importante em produção)

Após criar:

chmod 600 arquivo.txt

👉 recomendado para arquivos sensíveis (.env)


Exemplo real (CI/CD)

Criar .env dinamicamente

echo "JWT_SECRET=$JWT_SECRET" > .env
echo "DB_CONNECTION=$DB_CONNECTION" >> .env
echo "OTEL_ENDPOINT=$OTEL_ENDPOINT" >> .env

Erros comuns

❌ Esquecer >>

echo "linha1" > arquivo.txt
echo "linha2" > arquivo.txt

👉 resultado final:

linha2

❌ Não usar aspas

echo DB_PASS=123 456 > .env

👉 quebra em múltiplos argumentos


❌ Variável vazia

echo "KEY=$VAR" > .env

Se $VAR estiver vazio:

KEY=

Alternativa mais robusta (HEREDOC)

Para arquivos maiores:

cat <<EOF > arquivo.txt
linha 1
linha 2
linha 3
EOF

👉 melhor para múltiplas linhas 👉 evita repetição de echo


Comparação

MétodoUso
echo >criar/sobrescrever
echo >>adicionar
{} blocomúltiplas linhas
cat <<EOFarquivos grandes

Boas práticas

  • usar >> para append
  • agrupar com {} quando possível
  • usar aspas sempre
  • evitar sobrescrita acidental
  • proteger arquivos sensíveis com chmod

Resumo

  • > cria ou sobrescreve
  • >> adiciona conteúdo
  • echo escreve texto simples
  • para múltiplas linhas, prefira bloco ou HEREDOC

Frase para fixar

> apaga e escreve >> apenas adiciona