В чем разница между $ VARIABLE и $ {VARIABLE} - PullRequest
7 голосов
/ 24 ноября 2011

Может ли кто-нибудь дать мне объяснение, почему некоторые эксперты по Linux предлагают использовать $ {VARIABLE} в скриптах Bash?Кажется, нет никакой разницы.

Ответы [ 3 ]

10 голосов
/ 24 ноября 2011

Скажем, вы хотите напечатать $VARIABLE, а затем "string"

echo "$VARIABLEstring"    # tries to print the variable called VARIABLEstring
echo "${VARIABLE}string"  # prints $VARIABLE and then "string"

Bash также поддерживает манипулирование строками с использованием этого синтаксиса.

3 голосов
/ 24 ноября 2011

Одна из причин, по которой вы можете сделать это, - {} действовать как разделители:

a=42
echo "${a}sdf"  # 42sdf
echo "$asdf"  # prints nothing because there's no variable $asdf
2 голосов
/ 24 ноября 2011

Эта функция часто используется для защиты имени переменной от окружающих символов.

$ var=foo

Если мы хотим объединить строку в конце $var Мы не можем сделать:

$ echo $varbar  

$ 

, поскольку это пытается использовать новую переменную $varbar.
Вместо этого нам нужно заключить var в {} как:

$ echo ${var}bar
foobar
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...