Olá amigo estudante.
A diferença entre usar $VAR e ${VAR} em um script .sh é bastante sutil, mas importante em alguns casos.
1. $VAR
- Sintaxe simples: Quando você usa
$VAR, o shell substitui o valor da variávelVAR. Isso funciona na maioria dos casos simples.
VAR="Hello"
echo $VAR # Saída: Hello
2. ${VAR}
- Expansão de variável com delimitadores: A principal razão para usar
${VAR}é quando você precisa especificar claramente o nome da variável ou quando a variável é seguida de caracteres que podem ser confundidos com parte do nome da variável.
A notação ${VAR} permite que você use a variável de maneira mais segura, especialmente em expressões complexas ou quando está concatenando a variável com outros textos.
Exemplo 1: Concatenando com texto
VAR="World"
echo "Hello, ${VAR}!" # Saída: Hello, World!
Exemplo 2: Evitar ambiguidade
Se você tem um nome de variável que pode ser seguido por caracteres que podem ser interpretados como parte do nome da variável, ${VAR} ajuda a evitar confusões:
VAR="data"
echo "${VAR}123" # Saída: data123 (sem ${VAR}, o shell não saberia onde o nome da variável termina)
Use $VAR quando estiver acessando uma variável de forma simples.
Use ${VAR} quando precisar de maior clareza, principalmente em casos de concatenação com texto ou quando o nome da variável está em uma posição onde poderia haver ambiguidade.
Em geral, ${VAR} é considerado mais seguro, mas na maioria dos casos, você pode usar $VAR sem problemas.
Comente ai qualquer duvida.
Bons estudos.