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

Переменные интерпретатора shell могут использоваться сценариями в период функционирования интерпретатора shell. После завершения выполнения интерпретатора действие этих переменных прекращается. Например, локальная переменная имя_файла может иметь значение hops.doc. Это значение важно для пользователя только во время выполнения текущего интерпретатора команд; если запускается на выполнение другой процесс или происходит выход из среды интерпретатора команд, текущее значение локальной переменной не сохраняется. Переменные этого типа недоступны для других интерпретаторов shell или процессов, что имеет свои преимущества.

В табл. 14.1 представлены различные способы присваивания значений переменным.

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

При присвоении значений локальным переменным используется следующий формат:

$ имя_переменной=значение или ${иня_перемениой=значение}

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

Таблица 14,1. Различные способы присваивания значений переменным

Имя переменной = значениеЗначение переменной присваивается переменной имя_переменной
Имя переменной + значениеЗначение переменной присваивается переменной
имя переменной, если оно установлено
Имя_переменной:?значениеНа экран выводится сообщение об ошибке, если не установлена переменная имя_переменной
Имя переменной? значениеНа экран выводится сообщение о системной ошибке, если не установлена переменная имя_переменной
Имя_переменной:=значениеЗначение переменной присваивается переменной имя_переменной, если она не установлена
Имя переменной: — значениеКак и выше, но значение переменной имя_переменной не присваивается; оно может быть получено подстановкой
<p><emphasis><strong>14.2.1. Отображение значения переменной</strong></emphasis></p>

Чтобы отобразить значение отдельной переменной, достаточно применить команду echo и предварить имя переменной знаком $. Рассмотрим несколько примеров.

$ GREAT_PICTURE="die hard"

$ echo ${GREAT_PICTURE}

die hard

$ DOLLAR=99

$ echo $(DOLLAR)

99

$ LAST_FILE=ZLPSO.txt

$ echo ${LAST_FILE}

ZLPSO.txt

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

$ ERROR_MSG="Sorry this file does not exist user $LOGNAME"

$ echo ${ERROR_MSG}

Sorry this file does not exist user dave

В приведенном выше примере интерпретатор shell сначала выводит текст, затем рассматривает переменную $LOGNAME и отображает ее значение.

<p><emphasis><strong>14.2.2. Удаление значения переменной</strong></emphasis></p>

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

$ PC=enterprise

$ echo ${РС}

enterprise

$ unset PC

$ echo ${PC)

$

<p><emphasis><strong>14.2.3. Отображение значений всех переменных интерпретатора shell</strong></emphasis></p>

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

$ set

PWD=/root

SHELL=/bin/sh

SHLVL=1

TERM=vt100

UID=7

USER=dave

dollar=99

great_picture=die hard

last_file=ZLPSO.txt

Вывод команды set может быть довольно обширен; при его изучении можно заметить, что интерпретатор shell значительно облегчил работу в среде.

<p><emphasis><strong>14.2.4. Объединение значений переменных</strong></emphasis></p>

Чтобы объединить значения переменных, достаточно последовательно расположить переменные:

echo ${имя_переменной}${имя_переменной}. . ,

$ FIRST="Bruce "

$ SURNAME=Willis

$ echo ${FIRST}${SURNAME}

Bruce Willis

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

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

112 страниц про Париж. Опыт создания путеводителя (в помощь самостоятельным туристам)
112 страниц про Париж. Опыт создания путеводителя (в помощь самостоятельным туристам)

  По Парижу приятно гулять, бесцельно бродить, кружить по узким улочкам, отдыхать в маленьких кафе и в парках у фонтанов. Здесь есть все для любителей архитектуры, ценителей живописи, театралов, меломанов, гурманов, поклонников всевозможных развлечений. Париж притягивает, удивляет, очаровывает, постепенно приоткрывая тайны любознательному гостю, который теряется от сложности выбора: что же увидеть прямо сейчас, а что отложить на потом. Мои 112 страниц про Париж, надеюсь, помогут сделать этот выбор. Предложенные 7 прогулок по городу включают в себя не только известные всему миру достопримечательности, но и множество других, которые часто остаются за пределами стандартных туристических маршрутов.  

Елена Р Стамбулян , Елена Р. Стамбулян

Руководства / Путеводители / Словари и Энциклопедии
40+. Уход за телом
40+. Уход за телом

Женщина после 40 лет – настоящая богиня, умудренная опытом и оттого еще более прекрасная. Но чтобы надолго сохранить красоту и молодость, нужно постоянно собой заниматься: ухаживать за своим телом, руками и ногами, выполнять физические упражнения и соблюдать диету. Благодаря этой книге вы научитесь самостоятельно готовить омолаживающие, питательные, увлажняющие кремы и маски, а также скрабы и пилинги из натуральных продуктов; выполнять легкие и эффективные упражнения для стройной фигуры и профилактики варикозного расширения вен, делать массаж рук и ног, навсегда избавитесь от целлюлита и сможете легко ориентироваться в выборе омолаживающих процедур в СПА-салонах и хирургических операций в клиниках красоты. Правила здорового питания, популярные диеты и рецепты полезных блюд – в этой книге есть все, что поможет 40-летним женщинам всегда быть в форме.

Анастасия Витальевна Колпакова

Здоровье / Руководства / Здоровье и красота / Дом и досуг / Словари и Энциклопедии