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

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

имя_переменной=значение readonly имя_переменной

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

$ TAPE_DEV="/dev/rmt/0n"

$ echo ${TAPE_DEV}

/dev/rmt/0n

$ readonly TAPE_DEV

$ TAPE_DEV="/dev/rmt/1n"

sh: TAPE_DEV: read‑only variable

Чтобы просмотреть все переменные, которые доступны только для чтения, примените команду readonly.

$ readonly

declare -r FILM="Crimson Tide"

declare -ri PPID="1"

declare -r TAPE_DEV="/dev/rmt/0n"

declare -ri UID="0"

14.3. Переменные среды

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

Переменные среды можно устанавливать в командной строке. Однако эти значения не сохраняются после выхода из системы. Поэтому переменные среды удобно инициализировать в пользовательском файле .profile. Системный администратор

может установить некоторые переменные среды в файле /etc/profile. Поскольку переменные размещаются в профильных файлах, они инициализируются при регистрации в системе.

Обычно при обозначении переменных среды используются прописные буквы. Чтобы переменная была доступна всем процессам, достаточно применить команду export. Присваивание значений переменным среды проходит так же, как и в случае с переменными интерпретатора shell.

14.3.1. Присваивание значений переменным среды

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

VARIABLE_NAME=значение; export VARIABLE_NAME

Точка с запятой между двумя командами выступает в роли разделителя команд. К аналогичному результату можно прийти следующим образом:

VARIABLE_NAME = значение export VARIABLE_NAME

14.3.2. Отображение значений переменных среды

Отображение значений переменных среды выполняется так же, как и в случае с переменными интерпретатора shell. Ниже приведено несколько примеров.

$ CONSOLE=tty1; export CONSOLE

$ echo $CONSOLE

tty1

$ MYAPPS=/usr/local/application; export MYAPPS

$ echo $MYAPPS /usr/local/application

Чтобы просмотреть глобально определенные переменные среды, достаточно воспользоваться командой env.

$ env

HISTSIZE=1000

HOSTNAME=localhost.localdomain

LOGNAME=dave

MAIL=/var/spool/mail/root

TERM=vt100

HOSTTYPE=i386

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/XllR6/bin:/root/bin:

CONSOLE=tty1

HOME=/home/dave

ASD=sdf

SHELL=/bin/sh

P$1=$

USER=dave

14.3.3. Удаление значений переменных среды

Чтобы удалить значение переменной, следует применить команду unset.

$ unset MYAPPS $ echo $MYAPPS

$

14.3.4. Встроенные переменные интерпретатора shell

Интерпретатор Bourne shell располагает именами, которые зарезервированы для переменных среды. Эти названия переменных нельзя использовать иначе. Обычно они содержатся в файле /etc/profile. Однако так бывает не всегда, поэтому пользователь может самостоятельно устанавливать значения этих переменных. Ниже приводится перечень переменных, встроенных в интерпретатор shell.

Переменная CDPATH

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

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

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

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

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

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

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

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

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

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