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

We use cookies. Read the Privacy and Cookie Policy

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 воспринимает обратные кавычки, рассматривает текст, который заключен в обратные кавычки, интерпретирует его и выполняет.