Olá, Daniel. Como vai?
Compreendo perfeitamente a sua frustração. Às vezes, a didática de um instrutor específico acaba não se alinhando com o nosso estilo de aprendizado, e isso é super normal, principalmente em assuntos densos e cheios de detalhes como o Linux e Shell Scripting. É muito bom que você já tenha uma bagagem prévia de outros cursos da plataforma, pois isso te dá base para identificar essas lacunas!
O seu apontamento sobre o redirecionador de saída é muito pertinente. Para complementar a sua observação e até deixar registrado para outros alunos que possam esbarrar neste tópico com a mesma dúvida, o símbolo de maior que atua exatamente no fluxo de dados.
Quando usamos o comando cat > arquivo.txt, estamos pegando a saída padrão (o que digitamos no terminal) e "redirecionando" para dentro do arquivo, sobrescrevendo o que houver lá. Uma boa prática para se ter em mente é o uso do >>, que faz o redirecionamento, mas adiciona a informação ao final do arquivo, preservando o conteúdo anterior.
Como você está exatamente no capítulo de Passagem de parâmetros, vou deixar um pequeno resumo prático para tentar clarear esse tema caso tenha ficado confuso na aula:
A passagem de parâmetros é, basicamente, a forma de enviar informações para o seu script no momento em que você o executa. Em vez de criar um script engessado, você o torna dinâmico.
Se você executar no terminal:
./meuscript.sh Daniel Linux
Dentro do arquivo meuscript.sh, o Linux entende essas palavras através de variáveis especiais pré-definidas:
- $0: Guarda o nome do próprio script executado (no caso, ./meuscript.sh).
- $1: Guarda o primeiro parâmetro passado (no caso, Daniel).
- $2: Guarda o segundo parâmetro passado (no caso, Linux).
- $#: Guarda a quantidade total de parâmetros passados (no caso, foram passados 2 parâmetros).
Dessa forma, você pode criar lógicas dentro do código baseadas no que o usuário digitar logo na chamada do programa.
A área de DevOps exige muita consulta à documentação e trocas em comunidades. Não desanime com esse obstáculo. Se houver algum script específico deste capítulo que não ficou claro, sinta-se à vontade para postar o trecho do código aqui no fórum para que possamos destrinchar a lógica juntos.
Espero que possa ter lhe ajudado!