ЗАДАНИЯ. · Какая команда оболочки извлекает значение переменной, имя которой со- держится в другой переменной?

· Какая команда оболочки извлекает значение переменной, имя которой со- держится в другой переменной?

· Как экспортировать переменную, чье имя содержится в другой переменной?

· Куда помещаются экспортированные переменные?

· Поместите в переменную ENV все имена переменных окружения.

· Где можно увидеть переменные окружения, установленные для процесса bash?


 

Экранирование (quotation)

При необходимости указать в качестве аргумента какой-либо команды или назначить переменной значение, содержащее пробелы или метасимволы, они должны быть защищены от интерпретации оболочкой. Механизм защиты специальных символов оболочки от интерпретации называется экранирова- нием (quotation).

Например, требуется назначить переменной STR1 значение Bolshoy Privet. Эта строка содержит пробел, который должен быть предотвращен от интер- претации оболочкой. Экранировать его можно, например, установив перед ним символ обратной косой черты (пример 10.11).

 

Пример 10.11. Экранирование обратной косой чертой

 

$ STR1=Bolshoy\ Privet

$ echo $STR1 Bolshoy Privet

 

Обратная косая черта устраняет интерпретацию метасимвола, следующего за ней.

Для экранирования специальных символов применяются:

r одиночные кавычки '';

r двойные кавычки "";

r символ обратной косой черты \.

Одиночные кавычки используются парой и устраняют интерпретацию специ- ального значения всех метасимволов, заключенных в них, кроме других оди- ночных кавычек (пример 10.12).

 

Пример 10.12. Экранирование одиночными кавычками

 

STR1='Stroka soderzhit $TERM' aberes@newnote aberes $ echo $STR1 Stroka soderzhit $TERM

 

Заметно, что символ доллара, имеющий особое значение в оболочке, защи- щен от интерпретации одиночными кавычками.


 

Двойные кавычки также используются парой (пример 10.13) и устраняют ин- терпретацию метасимволов кроме:

r других двойных кавычек ";

r символа доллара $;

r обратной косой черты \;

r обратной кавычки `.

 

Пример 10.13. Экранирование с помощью двойных кавычек

 

$ STR1="'Stroka soderzhit $TERM'" aberes $ echo $STR1

'Stroka soderzhit xterm'

 

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

 








Дата добавления: 2015-06-12; просмотров: 661;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.