для отображения содержимого каталога

Я предполагаю, что они оба эквивалентны, когда переменная используется в форме:

${HOME}

фигурные скобки служат для разграничения переменной WORD, когда в противном случае она была бы неотличима от другого WORD, непосредственно примыкающего к ней. например,

echo $HOMEahoy

не даст ничего (кроме новой строки из echo)

echo ${HOME}ahoy 

даст эхо вашего домашнего пути, как вы ожидаете, плюс ahoy.
Я подозреваю, что в этом случае {} не нужны, потому что =:/, скорее всего, не являются допустимыми символами переменных в bash, поэтому bash может сам определить границы WORD.
При написании сценариев оболочки, если есть сомнения, я всегда ставлю фигурные скобки.
Эта идея не ограничивается bash, например, в PHP есть аналогичное поведение - только в PHP оно принимает немного другую форму, например, {$VAR_NAME}

2
04.05.2016, 01:57
0 ответов

Теги

Похожие вопросы