Перейти к основному содержимому

Одинарные и двойные кавычки в Bash?

·212 слов·1 минута
linux
Юрий Семеньков
Автор
Юрий Семеньков
DevOps, tech, geek, mentor
Оглавление

После информации про фигурные скобки нельзя не сказать про кавычки — где использовать одинарные кавычкиecho 'URL = https://$VAR.ru', а где двойные кавычкиecho "URL = https://$VAR.ru".

Одинарные кавычки ('some'):
#

Строки внутри таких кавычек будут считаться буквальными и переменные внутри не будут раскрыты. Все спецсимволы, кроме самой кавычки, трактуются буквально.

VAR=etogeek
echo 'URL = https://$VAR.ru'

URL = https://$VAR.ru

Двойные кавычки ("some"):
#

Переменные в строках в таких кавычках будут развернуты:

VAR=etogeek
echo "URL = https://$VAR.ru"

URL = https://etogeek.ru

Обработка спецсимволов:
#

  • Внутри двойных кавычек некоторые спецсимволы (например, $, \) могут иметь специальное значение и будут интерпретироваться. Например, \n будет заменено на символ новой строки.
  • Внутри одинарных кавычек спецсимволы трактуются буквально, и они не имеют особого значения.
  • Спецсимволы можно экранировать (escape) с помощью backslash (\)
VAR=etogeek
echo "URL:\nhttps://$VAR.ru"

URL:
https://etogeek.ru

Тройные кавычки (""", '''):
#

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

VAR=etogeek
echo """
This is my site '$VAR':
URL = https://$VAR.ru
Keep learning! "'$VAR'"
"""

This is my site 'etogeek':
URL = https://etogeek.ru
Keep learning! $VAR

🙋‍♂️С комментариями можно смело приходить в наш телеграм-чат.

🌀Так же рекомендую подписаться на телеграм-канал, чтобы не пропускать классные посты и анонсы новых статей.

🎬 А видео выходят на Youtube, канал @etogeek.

Related

В чем разница между $VAR и ${VAR}?
·134 слов·1 минута
linux
Увеличение разделов в Linux на горячую
·1141 слово·6 минут
linux гайды
Борьба с продуктивностью. Или за.
·789 слов·4 минут
продуктивность