русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Переменные оболочки и окружения


Дата добавления: 2015-07-09; просмотров: 1114; Нарушение авторских прав


Bash позволяет временно сохранять данные в переменных оболочки. Пере- менные оболочки размещаются в памяти автоматически при присвоении им значения через знак равенства. В примере 2.21 переменной VAR1 присваива- ется значение Privet!.

 

Пример 2.21. Переменная оболочки

 

$ VAR1=Privet!

$ echo $VAR1 Privet!


 

Для извлечения значения переменной необходимо перед ее именем устано- вить знак доллара ($). Команда echo выводит значение переменной VAR1.

Имя переменной должно состоять только из букв и цифр. Допускается при- менение символа подчеркивания. Первый символ в имени переменной дол- жен быть либо буквой, либо символом подчеркивания. Пробелы в имени пе- ременной не допускаются. Желательно (но не обязательно) использовать в именах переменных только большие буквы для того, чтобы не путать имена команд и имена переменных.

Если переменная должна содержать строку с пробелами, то строку следует экранировать с помощью одиночных или двойных кавычек (пример 2.22). Другой вариант: перед пробелами можно ставить экранирующий символ об- ратной косой черты (\).

 

Пример 2.22. Переменная, содержащая строку с пробелом

 

$ VAR1='Bolshoy Privet!'

$ echo $VAR1 Bolshoy Privet!

 

При необходимости добавления строки к значению переменной имя пере- менной следует взять в фигурные скобки для отделения имени переменной от последующей строки (пример 2.23).

 

Пример 2.23. Экранирование имени переменной

 

$ VAR1=${VAR1}ZZ

$ echo $VAR1 Bolshoy Privet!ZZ

 

Для получения списка всех переменных, определенных в текущей оболочке, следует использовать команду set без аргументов. Если вы хотите уничто- жить переменную, то для этого достаточно выполнить команду unset, указав в качестве ее аргумента имя переменной.



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


 

Пример 2.24. Экспортирование переменной

 

$ VAR1=Privet

$ export VAR1

$ pdksh

$ echo $VAR1 Privet

$ exit

 

Переменная VAR1 в примере 2.24 получила значение Privet, а затем экспор- тирована. Это сделало ее доступной в дочернем процессе — в порожденной оболочке pdksh.

Все переменные окружения могут быть получены с помощью команды env.

Окружение — это один из способов передачи информации процессов в сис- теме друг другу (табл. 2.2). Часто изменение значения какой-либо перемен- ной окружения приводит к изменению поведения программ. Например, если значение переменной HOME установлено неверно, то команда cd не будет воз- вращать вас в домашний каталог.

 

Таблица 2.2. Важнейшие переменные окружения

Переменная окружения Содержимое
HOME Путь к домашнему каталогу пользователя
LOGNAME и USER Имя пользователя
MAIL Путь к почтовому ящику пользователя
PATH Путь поиска исполняемых файлов
PS1 Вид приглашения оболочки
PWD Имя текущего каталога
OLDPWD Имя предыдущего каталога
SHELL Оболочка, указанная в учетной записи
TERM Тип терминала
LANG Тип локализации (локаль)
HOSTNAME Имя хоста
SHLVL Номер оболочки (при входе в сеанс — 1, для дочерней — 2 и т. д.)

Переменная окружения PS1 определяет вид приглашения оболочки (при- мер 2.25). Вид приглашения кодируется специальными символами. Символ \u устанавливает вывод имени пользователя. Символ \W устанавливает вывод имени текущего каталога, а символ \h отображает в строке приглашения Bash имя хоста. В Bash существуют также и другие специальные символы для переменной PS1. Они описаны в документации на Bash.

 

Пример 2.25. Переменная окружения PS1

 

[user1@work tmp]$ echo $PS1 [\u@\h \W]\$

 

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

Переменные окружения, общие для всех пользователей, хранятся в файле

/etc/profile, а настройки, специфичные для конкретных пользователей, хранятся в одном из файлов домашнего каталога пользователя: либо в ~/.bash_profile, либо ~/.bash_login, либо ~/.profile. Эти файлы выполняются автоматически при каждом входе в сеанс. При запуске оболочки Bash из командной строки выполняется файл профиля ~/.bashrc.

Подробнее о файлах профиля будет рассказано далее.

 



<== предыдущая лекция | следующая лекция ==>
Редактирование и исполнение команд | История команд


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 4.052 сек.