Читаем Linux и UNIX: программирование в shell. Руководство разработчика. полностью

Применение одинарных кавычек во многом аналогично применению двойных кавычек. Интерпретатор shell получает указание не выполнять подстановку этих значений; другими словами, символы, заключенные в такие кавычки, лишены специального значения. То, что заключено в одинарные кавычки, воспринимается буквально. Рассмотрим пример, аналогичный примеру с двойными кавычками:

$ GIRL='girl'

$ echo "The '$GIRL' did well"

The 'girl' did well

15.4. Обратные кавычки

Обратные кавычки позволяют присваивать переменным данные вывода системных команд. Символы, заключенные в обратные кавычки, воспринимаются интерпретатором shell как системная команда, которую следует выполнить. С помощью этого метода можно осуществить подстановку данных вывода в переменную. Можно также комбинировать разные кавычки, как это показано далее.

В следующем примере интерпретатор shell пытается выполнить подстановку слова hello. Но, поскольку нет ни команды, ни сценария с таким именем, отображается сообщение об ошибке.

$ echo `hello`

sh: hello: command not found

Применим снова команду date.

$ echo `date`

Sun May 16 16:40:19 GMT 1999

Теперь команда записана правильно, и интерпретатор shell может выполнить корректную подстановку этой команды.

Присвоим переменной mydate данные вывода команды date. Ниже приводится формат команды date:

$ date +%A" the "%e" of "%B" "%Y

Sunday the 16 of May 1999

Присвоим значение переменной mydate и отобразим его.

$ mydate=`date +%A" the "%e" of "%В" "%Y`

$ echo $mydate

Sunday the 16 of May 1399

Конечно, переменной mydate можно присвоить весь вывод команды date:

$ mydate=`date`

$ echo $mydate

Sun May 16 16:48:16 GMT 1999

Ниже приводится другой пример. Обратные кавычки содержатся внутри двойных кавычек:

$ echo "The date today ls `date` "

The date today ls Sun May 16 16:56:53 GMT 1999

Выведем на экран небольшое сообщение, включающее сведения о количестве пользователей в системе.

$ echo "There are `who | wc -l` users on the system"

There are 13 users on the system

В приведенном примере выводится текстовая строка. Интерпретатор shell воспринимает обратные кавычки, рассматривает текст, который заключен в обратные кавычки, интерпретирует его и выполняет.

15.5. Обратная косая черта

Символ обратной косой черты указывает интерпретатору shell, что следующий за ним символ не имеет специального значения. Специальное значение могут иметь такие символы: & *=^ $ ` " | ?.

В результате применения команды echo вместе с символом * на экран выводится не символ звездочки, а листинг. В этот листинг включается текущий каталог.

$ echo *

conf.linuxconf conf.modules cron.daily cron.hourly cron.monthly cron.weekly crontab csh.cshrc default dosemu.conf dosemu.users exports fdprm fstab gettydefs gpm‑root.c onf group group- host.conf hosts hosts.allow hosts.deny httpd inetd

Для отмены специального значения звездочки, примените символ обратной косой черты:

$ echo \*

*

Аналогичный результат можно получить с помощью команды $$. Интерпретатор shell воспринимает ее как текущий PID (ID процесса). Чтобы отключить специальное значение и вывести на экран символ $$, нужно перед этим символом поместить символ обратной косой черты:

$ echo $$

284

$ echo \$$

$$

Для вывода на экран символов, заданных восьмеричными ASCII–кодами, перед ними следует размещать символ обратной косой черты. В противном случае интерпретатор shell воспримет их как обычные числа.

$ echo "This ls a copyright 251 sign"

This is a copyright \251 sign"

$ echo "This is a copyright \251 sign"

This ls a copyright © sign"

В Linux…

He забывайте при выводе управляющих символов указывать параметр " -e".

$ echo -e "This ls a copyright \251 sign"

This ls a copyright © sign

Если при использовании команды expr применить символ * для обозначения операции умножения, то отобразится сообщение об ошибке. Чтобы символ * обозначал операцию умножения, следует поместить перед ним символ обратной косой черты.

$ expr 12 * 12

expr; syntax error

$ expr 12 \* 12

144

Перейти на страницу:

Похожие книги

Библия БДСМ. Полное руководство
Библия БДСМ. Полное руководство

Первое исчерпывающее пособие по БДСМ. Уникальный иллюстрированный гид для тех, кому просто любопытно, и для тех, кто уже в Теме. В этой книге известные педагоги и профессионалы ответили на все важные вопросы и раскрыли все интересующие вас темы: основные принципы, ролевые игры, господство, подчинение, фистинг, садизм, мазохизм, связывание, физическое воздействие, тантра необычного секса и многое другое. Если вы хоть раз задумывались о БДСМ, значит, эта книга то, что вам нужно. Она способна обучить, вдохновить и бросить вызов даже опытным игрокам. Не бойтесь экспериментировать, и добро пожаловать в мир сексуальных приключений!

Тристан Таормино , Литагент «5 редакция»

Зарубежная образовательная литература, зарубежная прикладная, научно-популярная литература / Руководства / Дом и досуг / Образовательная литература / Словари и Энциклопедии
Путь менеджера от новичка до гуру
Путь менеджера от новичка до гуру

«Путь менеджера» – это сборник лучших материалов online-сообщества (learning community) менеджеров E-xecutive за пять лет (2001–2005), которые впервые публикуются offline. Возможно, это книга с самым большим количеством авторов: 20 сотрудников E-xecutive и более 200 участников Сообщества писали, выбирали и редактировали материалы.Книга представляет собой «карту местности» для менеджера, стремящегося найти кратчайший путь к успеху, на которой отображены открытия лучших «картографов» – всемирно признанных бизнес-гуру и успешных российских топ-менеджеров. Эта книга о том, чем в действительности живут менеджеры, о чем не пишут в учебниках, и предназначается она для тех, кто стремится не только к карьерному успеху, но и к настоящей эффективности, личностному и профессиональному развитию.

Сообщество менеджеров E-xecutive

Руководства / Словари и Энциклопедии