Substituição de comandos

LinuxBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá um recurso poderoso chamado substituição de comandos.

Imagine que você está escrevendo um e-mail e quer incluir a data de hoje. Você quer apenas que o computador insira a “data de hoje” automaticamente.

No Linux, usamos $(). Essa sintaxe informa ao computador: “Execute este comando primeiro e coloque o resultado exatamente aqui”.

Esse é um dos recursos de composição mais úteis do shell. Em vez de copiar manualmente a saída de um comando e colá-la em outro, o shell pode fazer essa substituição automaticamente.

Neste laboratório, você vai:

  • Aprender a formatar o comando date.
  • Criar uma pasta cujo nome será definido automaticamente pela data de hoje, por exemplo, 2025-12-23.

Formatar a data

Primeiro, obtenha a data no formato desejado.

Se você executar apenas date, ele exibirá uma sequência pouco prática.

Isso serve para lembrar que muitos comandos permitem formatar a saída. As ferramentas do Linux geralmente oferecem formatos adequados para leitura humana ou para processamento por máquinas, dependendo do que você fará em seguida.

Para criar um nome de pasta limpo, como 2025-12-23, use +%F:

date +%F

Saída (exemplo):

2025-12-23

Criar uma pasta dinamicamente

Agora vem a parte interessante.

Queremos criar um diretório usando a data, mas sem digitá-la manualmente.

Coloque o comando date dentro do comando mkdir usando $(). O shell identifica $() e executa primeiro o comando que está dentro dele.

Execute:

mkdir $(date +%F)

O que aconteceu:

  1. O shell encontrou $(date +%F).
  2. Ele executou date +%F internamente e obteve o resultado, por exemplo, 2025-12-23.
  3. Ele substituiu a parte $() por esse resultado.
  4. Ele executou mkdir 2025-12-23.

Isso mostra que o shell constrói o comando final em etapas. A substituição de comandos acontece antes da execução definitiva do comando, por isso o resultado pode ser usado como um argumento comum.

Verificar a pasta

Agora, verifique se tudo funcionou.

Execute ls:

ls -l

Você deverá ver uma nova pasta com o nome da data de hoje.

Se você executar este script amanhã, ele criará uma nova pasta com a data de amanhã. É assim que funcionam os backups automatizados!

Resumo

Neste laboratório, você aprendeu sobre substituição de comandos: usar a saída de um comando como entrada para outro.

  • O recurso: $(command)
  • O processo: o Linux executa primeiro o comando interno e depois o substitui pelo resultado.
  • O resultado: você pode criar comandos dinâmicos que mudam de acordo com o horário, o usuário ou outras condições, sem precisar digitá-los manualmente.

Execute echo "Today is $(date)" para observar esse recurso novamente em ação!