Часть 3. Углубленный материал
Глава 9. К вопросу о переменных
Правильное использование переменных может придать сценариям дополнительную мощь и гибкость, а для этого необходимо изучить все тонкости и нюансы.
9.1. Внутренние переменные
путь к исполняемому файлу
это массив, состоящий из 6 элементов, и содержащий информацию о версии Bash. Очень похожа на переменную
версия Bash, установленного в системе
Проверка переменной $BASH_VERSION -- неплохой метод проверки типа командной оболочки, под которой исполняется скрипт. Переменная $SHELL не всегда дает правильный ответ.
содержимое вершины стека каталогов (который управляется командами pushd и popd)
Эта переменная соответствует команде dirs, за исключением того, что dirs показывает полное содержимое всего стека каталогов.
заданный по-умолчанию редактор, вызываемый скриптом, обычно vi или emacs.
"эффективный" идентификационный номер пользователя (Effective User ID)
Идентификационный номер пользователя, права которого были получены, возможно с помощью команды su.
имя текущей функции
Перечень шаблонных символов, которые будут проигнорированы при выполнении подстановки имен файлов (globbing) .
группы, к которым принадлежит текущий пользователь
Это список групп (массив) идентификационных номеров групп для текущего пользователя, как эо записано в
домашний каталог пользователя, как правило это
Сетевое имя хоста устанавливается командой hostname во время исполнения инициализирующих сценариев на загрузке системы. Внутренняя переменная
тип машины
Подобно $MACHTYPE, идентифицирует аппаратную архитектуру.
разделитель полей во вводимой строке (IFS -- Input Field Separator)
По-умолчанию -- пробельный символ (пробел, табуляция и перевод строки), но может быть изменен, например, для разбора строк, в которых отдельные поля разделены запятыми. Обратите внимание: при составлении содержимого переменной $*, Bash использует первый символ из
Пример 9-1. $IFS и пробельные символы