Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





По умолчанию переменные только в текущем сеансе интерпретато-
ра. Чтобы передать переменную другим программам, выполняющимся в интерпретаторе, необходимо воспользоваться встроенной командой export.
Если переменная индексируется числом в квадратных скобках ([]), она считается массивом. Например:
$ DIR_LIST[0]=src $ DIR_LIST[1]=headers $ Is ${DIR_LIST[1]}
Перечисляется содержимое каталога headers. Многие подстановки и команды в этой главе обрабатывают каждый элемент массива отдельно.
В этом разделе представлены:
Подстановка переменных
Встроенные переменные интерпретатора

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

${var}
Значение переменной va r.

$0
Имя программы.

%{п}
Отдельные аргументы командной строки (позиционные параметры); Значение п лежит в интервале [1, 9].

$#
Количество аргументов командной строки.

$*
Все аргументы командной строки.

т
Аналогично $ *, но содержимое разделяется на слова, если переменная заключена в двойные кавычки.

$$
Номер процесса текущего интерпретатора; часто используется как часть имени файла при создании временных файлов с уникальными именами.

$?
Код завершения последней команды (0 обычно означает успешное завершение).

 

Переменная

Значение

Номер процесса последней фоновой команды.
Текущие параметры выполнения (см. описание встроенной команды set). По умолчанию для сценариев имеет значение ЬВ, а для диалоговых интерпретаторов - himBH.
Изначально имеет значение имени файла, выполненного для запуска текущего интерпретатора, затем заново устанавливается при выполнении каждой команды и имеет значение предыдущей команды, которая была выполнена.
Таблица 7.16. Операторы подстановки
Оператор
Подстановка

${varname -.-word)
Если переменная va та те существует и ее значение не пустое, вернуть это значение; иначе вернуть word.

Назначение:
Возврат значения по умолчанию, если переменная не определена.

Пример:
${ count:—0} принимает значение 0, если значение переменной count не определено.

${varname:=word)
Если переменная varname существует и ее значение не пустое, вернуть его; иначе установить значение переменной в word и вернуть значение word. Позиционные и специальные параметры не могут получать значения таким образом.

Назначение:
Установка значения переменной по умолчанию, если переменная не

Пример:
${count:=0} устанавливает значение переменной count в О, если значение переменной не определено.

${varname:?message}
Если переменная varname существует и ее значение не пустое, вернуть это значение; иначе отобразить имя varname, сопроводив его сообщением message, а затем прекратить выполнение текущей команды или сценария (только в пакетном режиме работы интерпретатора). Если параметр message опущен, выводится стандартное сообщение «parameter null
or not set» (значение не существует или не установлено).

Назначение:
Предотвращение ошибок из-за неопределенности переменных.

Пример:
{$count:?»undefined!»} выдаст сообщение «count: undefined!* и завершит работу сценария, если переменная count не определена.

 

Ниже в табл. 7.16.-7.18. перечислены различные типы операторов, которые могут применяться для работы с переменными в bash.
Оператор
Подстановка

${varname:+word}
Если переменная varname существует и ее значение не пустое, вернуть word; иначе вернуть пустое значение.

Назначение:
Проверка существования переменной .

Пример:
${count:+l} возвращает 1 (которую можно интерпретировать как true), если переменная count определена.

${#varname}
Вернуть длину переменной varname.

Назначение:
Подготовка к замене или извлечению подстрок .

Пример:
Если ${USER} имеет значение root, то ${#USER} принимает значение 4.

Таблица 7.17. Операторы поиска по шаблону

Оператор
Значение



   
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru