в чем разница в повторении переменных таким образом?

#bash #shell #scripting

#bash #оболочка #сценарии

Вопрос:

В чем разница в повторении этих переменных в сценариях bash?

ПРИМЕР:

Я объявляю переменную

 VARIABLE="Hello World"

echo $VARIABLE
 

В чем разница между приведенным выше и приведенным ниже?

 echo ${VARIABLE}
 

Имеет ли значение, если я помещаю {} или нет?

Ответ №1:

Никакой разницы в вашем коде

Фигурные скобки, разделяющие имя переменной, используются для расширения параметров, поэтому вы можете делать такие вещи, как

Усечение содержимого переменной

 $ var="abcde"; echo ${var%e*}
abcd
 

Сделайте замены, аналогичные sed

 $ var="abcde"; echo ${var/e/1}
abcd1
 

Фигурные скобки также могут быть полезны, когда расширение происходит в определенных контекстах. Например:

 FOO=bar
echo $FOO1    # tries to print the value of a variable named "FOO1"
echo ${FOO}1  # prints "bar1"