Trabalhando com Caminhos e Substituição de Comandos
Nesta etapa, você aprenderá como usar o comando echo com substituição de comando para exibir a saída de outros comandos.
Substituição de Comando em Echo
A substituição de comando permite que você substitua um comando por sua saída. Isso é feito usando a sintaxe $(comando). Quando o shell encontra essa estrutura, ele executa o comando dentro dos parênteses e substitui todo o $(comando) pela saída do comando.
Vamos usar a substituição de comando para exibir seu diretório de trabalho atual:
echo "Current directory: $(pwd)"
Quando você executar este comando, deverá ver uma saída semelhante a:
Current directory: /home/labex/project
Neste exemplo, $(pwd) é substituído pela saída do comando pwd, que exibe seu diretório de trabalho atual.
Salvando a Saída em um Arquivo
Você também pode redirecionar a saída do comando echo para um arquivo em vez de exibi-la na tela. Isso é feito usando o operador de redirecionamento >.
Vamos criar um arquivo chamado path_info.txt no seu diretório do projeto que contém informações sobre sua localização atual:
cd ~/project
echo "Current path: $(pwd)" > path_info.txt
Este comando criará um arquivo chamado path_info.txt no seu diretório do projeto com o conteúdo "Current path: /home/labex/project" (ou qualquer que seja seu caminho atual).
Para verificar o conteúdo do arquivo, você pode usar o comando cat:
cat path_info.txt
Você deve ver uma saída semelhante a:
Current path: /home/labex/project
O operador > redireciona a saída do comando echo para o arquivo especificado. Se o arquivo já existir, ele será sobrescrito. Se você deseja anexar a um arquivo existente em vez de sobrescrevê-lo, pode usar o operador >>.
Por exemplo, vamos adicionar a data e hora ao nosso arquivo:
echo "Current date and time: $(date)" >> path_info.txt
Agora verifique o conteúdo do arquivo novamente:
cat path_info.txt
Você deve ver ambas as linhas:
Current path: /home/labex/project
Current date and time: Wed Jan 5 10:15:30 UTC 2023
(A data e hora reais refletirão a data e hora atuais do seu sistema.)