1
resposta

Quando utilizar $VAR e ${VAR} em um script .sh?

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ável VAR. 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.

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Oi Ronaldo, tudo bem? 😊

Excelente explicação sobre o uso de $VAR e ${VAR} em scripts shell! 👍

Você abordou de forma clara e concisa as diferenças e casos de uso de cada um.

Só para complementar, podemos dizer que ${VAR} é uma forma mais robusta e explícita de referenciar uma variável.

Além dos exemplos que você já deu, podemos citar o uso de ${VAR} com arrays e manipulação de strings:

# Acessando elementos de um array
ARRAY=(item1 item2 item3)
echo ${ARRAY[0]}  # Saída: item1

# Obtendo o comprimento de uma string
STRING="exemplo"
echo ${#STRING}   # Saída: 7

# Extraindo uma substring
echo ${STRING:2:4} # Saída: empl

No geral, a utilização de ${VAR} pode evitar comportamentos inesperados e tornar o código mais legível. 💪

🎓 Para saber mais:

Espero ter ajudado a complementar sua explicação! 🤔