15.1. Правила применения кавычек

15.1. Правила применения кавычек

Рассмотрим некоторые основные правила использования кавычек. Излагаемый материал будет сопровождаться большим количеством примеров. Вопросы использования кавычек обсуждаются и в следующих двух частях книги.

Некоторые пользователи не утруждают себя и не применяют при выводе на экран текстовых строк двойные кавычки. Применение кавычек может оказать существенное влияние на работу сценария. Необходимо, чтобы применение двойных кавычек при выводе на экран текстовых строк стало непреложным правилом для каждого пользователя. Рассмотрим следующий пример,

$ echo Hit the star button to exit *

Hit the star button to exit DIR_COLORS HOSTNAME Muttrc X11 adjtime aliases alias

Приведенный текст выводится на экран. Поскольку двойные кавычки не были использованы, интерпретатор команд расценивает знак * как знак подстановки. Заключая выражение в двойные кавычки, получим:

$ echo "Bit the star button to exit *"

Hit the star button to exit *

Благодаря применению кавычек выражение интерпретируется верно. В табл. 15.1 приведены комментарии к различным типам кавычек.

Таблица 15.1. Использование кавычек интерпретатором shell

"" Двойные кавычки
Одинарные кавычки
`` Символ "тупого ударения" или обратные кавычки
Символ обратной косой черты

15.2. Двойные кавычки

Двойные кавычки применяются, когда необходимо буквальное восприятие всех символов, за исключением символов: $, ` , . Символы доллара, обратной кавычки и символ обратной косой черты сохраняют свое специальное значение при функционировании интерпретатора shell. Если при выводе на экран переменной присваивается текстовая строка, заключенная в двойные кавычки, речь идет о выводе на экран самой переменной.

$ STRING="MAY DAY, MAY DAY, GOING DOWN"

$ echo "$STRING"

MAY DAY, MAY DAY, GOING DOWN

$ echo $STRING

MAY DAY, MAY DAY, GOING DOWN

Предположим, что сведения о системной дате присваиваются переменной с именем mydate.

$ MYDATE="date"

$ echo $MYDATE

date

Интерпретатор команд воспринимает информацию в строке "как есть", т. е. дате не присваивается специальное значение. Поэтому в качестве даты фигурирует слова data

Двойные кавычки следует применять при поиске строки, содержащей пробелы. Воспользуемся командой grep для поиска имени Davey Wire. Если не применять кавычки, команда grep воспримет Davey как строку для поиска, a Wire — как файл.

$ grep Davey Wire /etc/passwd

grep: Wire: No such file or directory

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

$ grep "Davey Hire" /etc/passwd

davyboy:9sdJUK2s:106:Davey Wire:/home/ap

Чтобы включить переменную в строку для вывода на экран, можно применить двойные кавычки. В следующем примере интерпретатор shell выводит на экран строку, считывает знак $, трактует его как переменную и заменяет переменную $BOY значением boy.

$ ВОY="boy"

$ echo " The $BOY did well"

The boy did well

$ echo "The "$BOY" did well"

The boy did well

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

О пользе обратных кавычек

Из книги FreeBSD - полезные советы автора Супрунов Сергей

О пользе обратных кавычек Свойство оболочки исполнять выражение в обратных кавычках (`команда`) и подставлять результат в исполняемую командную строку, предоставляет широчайшие возможности для автоматизации. Например, следующая команда выведет на экран


B.4 Вопросы адаптации и применения

Из книги ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ. ПРОГРАММНЫЕ КОНСТРУКТИВЫ И УСЛОВНЫЕ ОБОЗНАЧЕНИЯ ДЛЯ ИХ ПРЕДСТАВЛЕНИЯ автора Госстандарт России


1 ОБЛАСТЬ ПРИМЕНЕНИЯ

Из книги ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ ОЦЕНКА ПРОГРАММНОЙ ПРОДУКЦИИ ХАРАКТЕРИСТИКИ КАЧЕСТВА И РУКОВОДСТВА ПО ИХ ПРИМЕНЕНИЮ автора Автор неизвестен


1 ОБЛАСТЬ ПРИМЕНЕНИЯ

Из книги Информационная технология ПРОЦЕСС СОЗДАНИЯ ДОКУМЕНТАЦИИ ПОЛЬЗОВАТЕЛЯ ПРОГРАММНОГО СРЕДСТВА автора Автор неизвестен

1 ОБЛАСТЬ ПРИМЕНЕНИЯ Настоящий стандарт определяет шесть характеристик, которые с минимальным дублированием описывают качество программного обеспечения. Данные характеристики образуют основу для дальнейшего уточнения и описания качества программного обеспечения.


1 Область применения

Из книги Пакеты программ. Требования к качеству и тестирование автора Автор неизвестен


1 Область применения

Из книги СРЕДСТВА ПРОГРАММНЫЕ СИСТЕМ ВООРУЖЕНИЯ. ПОРЯДОК РАЗРАБОТКИ автора Автор неизвестен

1 Область применения Настоящий стандарт применяется для пакетов программ. Например, для текстовых процессоров, электронных таблиц, программ баз данных, графических пакетов, программ, реализующих технические и научные функции, и для сервисных программ (утилит).Стандарт


1 ОБЛАСТЬ ПРИМЕНЕНИЯ

Из книги ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ. РУКОВОДСТВО ПО УПРАВЛЕНИЮ ДОКУМЕНТИРОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ автора Автор неизвестен


1 ОБЛАСТЬ ПРИМЕНЕНИЯ

Из книги ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВСТРОЕННЫХ СИСТЕМ. Общие требования к разработке и документированию автора Госстандарт России

1 ОБЛАСТЬ ПРИМЕНЕНИЯ Данный стандарт представляет собой руководство по документированию программного обеспечения для тех руководителей, которые отвечают за производство программного обеспечения или программной продукции. Руководство предназначено для помощи


Области применения. NET

Из книги Искусство программирования на языке сценариев командной оболочки автора Купер Мендель

Области применения. NET Как и было заявлено Microsoft с самого начала обнародования сведений о. NET, этот набор технологий в первую очередь адресован программистам, которые работают с веб-приложениями, и предназначен для создания расширяемых распределенных приложений, которые,


16.3. Область применения

Из книги FictionBook Editor V 2.66 Руководство автора Izekbis

16.3. Область применения Как один из вариантов грамотного применения перенаправления ввода/вывода, можно назвать разбор и "сшивание" вывода от команд (см. Пример 11-6). Это позволяет создавать файлы отчетов и журналов регистрации


Обработка кавычек v2.7

Из книги Linux и UNIX: программирование в shell. Руководство разработчика. автора Тейнсли Дэвид


8.1.1. Употребление кавычек

Из книги Linux и все, все, все... Статьи и колонки в LinuxFormat, 2006-2013 автора Федорчук Алексей Викторович

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


ZFS on Linux: практика применения

Из книги автора

ZFS on Linux: практика применения LinuxFormat, #165-166 и #167 (январь и февраль 2013).Настоящая статья посвящена практическому использованию ZFS в Linux. Оно рассмотрено на примере openSUSE, хотя почти всё из сказанного применимо и к любым другим дистрибутивам – все дистроспецифические детали