Использование переменных оболочки

Переменные оболочки предназначены для временного хранения строковых значений. Память, необходимая для размещения значений переменных, вы- деляется оболочкой динамически по мере надобности.


 

Все переменные оболочки хранят строки. Однако переменные, значения ко- торых представляют собой целые числа, допускают выполнение простейших арифметических операций (пример 10.6).

 

Пример 10.6. Вычисление арифметических выражений в Bash

 

$ V1=10

$ echo $(( V1+1 )) 11

 

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

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

 

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

 

$ f1=str

$ echo $f1 str

$ echo $f11

$ echo ${f1}1 str1

 

В примере 10.7 переменной f1 присвоено значение str. Добавить к строке str символ 1 нельзя без экранирования имени переменной фигурными скоб- ками, т. к. иначе оболочка пытается вывести значение переменной f11.

Имеется возможность использовать значение по умолчанию для переменной. Если переменная определена, то используется ее значение. В противном слу- чае используется значение по умолчанию (пример 10.8).

 

Пример 10.8. Значения по умолчанию

 

$ V1=abcdef

$ echo ${V1:-09876} abcdef

$ echo ${V2:-09876} 09876


 

$ echo $V1 abcdef

$ echo $V2

 

В примере 10.9 переменная V1 определена, а V2 — нет. Поэтому для перемен- ной V1 конструкция (значение по умолчанию) ${V1:-09876} дает значение переменной, а для V2 — возвращает значение по умолчанию 09876. Собст- венно значения переменных V1 и V2 не изменяются.

Если же необходимо назначить переменной значение по умолчанию в случае, когда она не определена, следует использовать конструкцию ${перемен- ная:=значение} (пример 10.9).

 

Пример 10.9. Установка значения по умолчанию

 

$ echo ${V2:=12345} 12345

$ echo $V2 12345

 

Так как переменная V2 в примере 10.9 не была определена, то вместо нее бы- ло использовано значение 12345, которое при этом было назначено этой пе- ременной.

При необходимости использовать вместо определенной переменной заданную строку применяют конструкцию ${переменная:+значение} (пример 10.10).

 

Пример 10.10. Замещение значением по умолчанию

 

$ echo ${V2:+'nu i dela...'} nu i dela...

 

Здесь вместо установленного значения переменной была использована стро- ка — значение по умолчанию.

 








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


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

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

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

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