ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Понедельник, 31 марта, 2025
Сегодня у нас 1 праздник:
Международный День Резервного Копирования (World Backup Day). Пользователи сайта социальных новостей reddit предложили сделать дату 31.03 Международным днём резервного копирования, аргументируя это тем, что никогда заранее нельзя узнать, какие сюрпризы преподнесёт 1.04

Разница между ${} и $() в Bash

Разница между ${} и $() в Bash

Одной из ключевых особенностей Bash является его способность использовать различные типы синтаксиса для выполнения различных задач. Двумя из этих синтаксисов являются синтаксисы ${} и $(), которые часто используются взаимозаменяемо, но имеют разное применение. В этой статье будут рассмотрены различия между ${} и $() в Bash.

 

${} в Bash — расширение параметра

Синтаксис ${}, также известный как расширение параметра, используется для доступа к значению переменной в Bash. Он также используется для выполнения различных расширений параметров, таких как извлечение подстроки, изменение регистра и сопоставление с образцом. Ниже приведен синтаксис использования ${} в сценариях bash:

${variable}

 

Вот пример, демонстрирующий использование этого синтаксиса:

#!bin/bash

name="Andrey"

echo "Мое имя ${name}"

 

В приведенном выше примере синтаксис ${name} используется для доступа к значению переменной name и включения его в выходную строку:

andreyex@destroyer:-$ bash bashfile.sh

Мое имя Andrey 

andreyex@destroyer: -S

 

$() в Bash — подстановка команд

С другой стороны, синтаксис $(), также называемый подстановкой команд, используется для выполнения команды и захвата ее вывода. Синтаксис выглядит следующим образом:

$(command)

 

Вот пример использования синтаксиса $():

#!bin/bash

files=$(ls)

echo "Файлы в текущем каталоге следующие: ${files}"

 

Здесь синтаксис $() используется для выполнения команды ls и записи ее вывода в переменную files. Принимая во внимание, что синтаксис ${} затем используется для включения списка файлов в выходную строку:

andreyex@destroyer:~$ bash bashfile.sh

Файлы в текущем каталоге следующие: bashfile.sh

Desktop

Documents

Downloads

Music

Pictures

Public

Templates

Videos

andreyex@destroyer: -$

 

В целом синтаксис ${} используется для доступа к значению переменной, а синтаксис $() используется для выполнения команды и захвата ее вывода. Оба синтаксиса используются по-разному и не являются взаимозаменяемыми.

 

Заключение

Понимание различий между ${} и $() в Bash необходимо для эффективного написания сценариев оболочки, хотя оба синтаксиса могут выглядеть одинаково, они имеют разные функции и должны использоваться соответственно. Используя правильный синтаксис для правильной задачи, вы можете повысить эффективность и удобочитаемость ваших сценариев Bash.

Exit mobile version