26.06.2025
3 минут чтения

Одинарные и двойные кавычки в Bash: полное руководство

кавычки в Bash

В мире Bash-скриптов кавычки — это не просто символы для оформления строк. Они кардинально меняют поведение команд, переменных и выражений. Перед тем как мы начнём копаться в деталях, сразу оговоримся: двойные скобки играют важную роль в вычислениях, в чем ты сразу сможешь убедиться на курсах DevOps от компании FoxmindEd. Но о них поговорим позже.

Сейчас разберёмся с основами — двойные и одинарные кавычки в Bash, их различия и применение.

Наш курс менторинга DevOps позволяет не только получить твердые знания и навыки в области DevOps, но и развивает важные для карьеры качества, такие как самостоятельность, умение решать задачи и поиск необходимой информации!
Узнать больше

Разница между одинарными и двойными кавычками в Bash

Как работают одинарные кавычки

Одинарные кавычки (‘…’) в Bash выполняют роль жесткого контейнера, который защищает текст от любых изменений. Внутри одинарных кавычек переменные не подставляются, команды не исполняются, а специальные символы теряют свое особое значение. Это позволяет использовать их для записи строк, где важно сохранить точное содержимое без интерпретации.

name="Bash"

echo 'Hello, $name!'

Выведет:

Hello, $name!

Переменная $name не подставилась, потому что внутри одинарных кавычек всё воспринимается буквально.

Как работают двойные кавычки

Двойные в отличие от одинарных, допускают интерпретацию переменных и команд. Это делает их более удобными для случаев, когда нужно динамически формировать строки:

echo "Hello, $name!"

Выведет:

Hello, Bash!

Здесь переменная $name была подставлена в строку.

Влияние кавычек на переменные и команды

Использование двойных и одинарных кавычек в Bash напрямую влияет на поведение переменных и командных подстановок. Одинарные кавычки блокируют интерпретацию, а двойные позволяют динамически изменять содержимое строки.

echo 'Date: $(date)'

Выведет:

Date: $(date)

А вот если использовать двойные кавычки:

echo "Date: $(date)"

Выведет актуальную дату:

Date: Thu Mar 13 12:34:56 UTC 2025

Использование кавычек в Bash-скриптах

Когда использовать одинарные кавычки

Используй одинарные кавычки, если тебе нужно сохранить точный текст без обработки переменных и команд. Это особенно полезно при работе с конфигурационными файлами, статическими строками и выводом справочной информации.

echo 'Этот текст не изменится: $HOME'

Когда лучше подходят двойные кавычки

Двойные кавычки отлично подходят, если строка должна содержать переменные или результаты выполнения команд.

echo "Твой домашний каталог: $HOME"

Ошибки при работе с кавычками

Ошибки, связанные с кавычками, могут привести к неожиданному поведению скрипта или даже его падению. Основные проблемы:

  • Пропущенная кавычка: echo «Hello, world → Syntax error.
  • Смешивание типов: echo «Text ‘error» → не закрыл двойные кавычки.
  • Использование переменных в одинарных кавычках: $var не подставится, что может вызвать баги.

Обратные кавычки и их альтернатива

Что такое обратные кавычки и зачем они нужны

Bash обратные кавычки (`команда`) позволяют выполнять команду и подставлять её результат в строку. Однако этот метод считается устаревшим и не рекомендуется к использованию. Главный минус обратных кавычек — сложность вложения и хуже читаемость кода.

Если тебя интересует вопрос «bash как вывести обратную кавычку​», а не выполнить команду внутри неё, то достаточно просто экранировать её с помощью обратного слэша:

echo "\`"

Как использовать $(…) вместо обратных кавычек

Более современный способ — это использование $(…) для выполнения команд внутри строк. Он более гибкий и легче воспринимается, особенно при вложенных командах:

echo "Current directory: $(pwd)"

Этот способ предпочтительнее, так как он легко читается и позволяет избежать путаницы.

Подпишитесь на наш Ютуб-канал! Полезные видео для программистов уже ждут вас! YouTube
Выберите свой курс! Путь к карьере программиста начинается здесь! Посмотреть

Двойные круглые скобки в Bash

Что означают двойные круглые скобки

Bash двойные круглые скобки ((…)) — это не просто синтаксический изыск. Это удобный способ выполнять арифметику, а также логические проверки прямо в скрипте. Все делается без лишних кавычек, expr и пр.

Как использовать их в выражениях и операциях

Скобки ((…)) помогают делать вычисления легко и просто. Помимо этого, в них можно прописывать условия. То есть никаких test или [ «$x» -gt «$y» ]. Все понятно и четко.

Также они позволяют использовать логические проверки:

if ((x > y)); then

  echo "x is greater than y"

fi

Это удобно, когда нужно делать проверки без использования test или [ … ].

Заключение

Итоговые рекомендации по работе с кавычками

  • Используй одинарные кавычки, когда необходимо сохранить текст без изменений.
  • Применяй двойные кавычки, если работаешь с переменными или командами.
  • Bash обратные кавычки заменяй на $(…) для удобочитаемости.
  • А вот bash двойные круглые скобки (((…))) — лучший вариант для математических операций и логических проверок.
FAQ
Одинарные кавычки полностью защищают текст от подстановок, а двойные позволяют вставлять переменные и выполнять команды.
Когда нужно сохранить текст в точности без интерпретации переменных и команд.
Чтобы в строку подставлялись значения переменных или результаты выполнения команд.
Это старый способ подстановки команд, который заменяют на более удобный и читаемый синтаксис $(...).
Они используются для арифметических и логических выражений прямо в скриптах, упрощая записи.
Пропущенные кавычки, смешивание типов кавычек и забытые подстановки переменных внутри одинарных кавычек.

Остались вопросы о разнице между одинарными и двойными кавычками в Bash? Спрашивайте в комментариях!

Добавить комментарий

Ваш имейл не будет опубликован. Обязательные поля отмечены *

Сохранить моё имя, имейл и адрес сайта в этом браузере для будущих комментариев

foxmindED
IТ-жара: Скидка 20% на стартовые курсы!
до конца акции
00
дней
00
годин
00
минут
Забронировать