Olá, Bruno!
Vamos lá, vou te ajudar a entender as diferenças entre os dois exemplos que você apresentou.
Exemplo 1:
#!/bin/bash
read -p "Hi there! Tell me your name: " name
name=$name
read -p "Well, now tell me age: " age
age=$age
echo "Hello, $name. You are $age years old."
Exemplo 2:
echo "Hi there! Tell me your name: "
read name
echo "Well, now tell me age: "
read age
echo "Hello, $name. You are $age years old."
Diferenças e Semelhanças:
Uso do read -p
:
- No Exemplo 1, você está usando
read -p
que permite exibir uma mensagem de prompt diretamente na linha de comando, o que torna o script mais interativo e amigável. - No Exemplo 2, você está usando
echo
para exibir a mensagem e read
separadamente para capturar a entrada do usuário. Funciona da mesma forma, mas é um pouco mais verboso.
Atribuição Redundante:
- No Exemplo 1, você está atribuindo o valor de
name
a name
novamente (name=$name
). Essa linha é redundante e desnecessária, já que a variável name
já contém o valor inserido pelo usuário. - O mesmo acontece para a variável
age
.
Estilo e Clareza:
- O Exemplo 1 pode parecer um pouco mais limpo e direto, especialmente para quem está acostumado com o uso de
read -p
. - O Exemplo 2 é mais explícito em termos de operações separadas, o que pode ser mais fácil de entender para iniciantes.
Qual usar?
Ambos os exemplos são funcionais e produzem o mesmo resultado. A escolha entre um e outro depende mais do seu estilo pessoal e da clareza que você deseja no seu script. Se você quer um código mais conciso, o Exemplo 1 é uma boa escolha. Se prefere um código mais detalhado e explícito, o Exemplo 2 pode ser mais adequado.
Espero ter ajudado e bons estudos!