В оболочке существует множество встроенных переменных, которые помогают администрированию и упрощают написание скриптов. В этом посте мы рассмотрим важные встроенные переменные. Если есть еще какие-то я и их пропустил — добавляйте в комментариях.
Прим.: чтобы получить текущие значения этих переменных, используйте команду echo для их вывода. Например, если вы хотите увидеть в какой оболочке вы сейчас работаете тогда набираем:
echo $ SHELL
чтобы получить текущую оболочку.
$SHELL – выводит какая оболочка запущена сейчас
$HISTSIZE – выводит размер количества команд, которые могут быть размещены в файле истории
$HISTFILE – выводит где расположен файл истории
$USER – отображает имя пользователя
$EUID – отображает UserID.
$GROUPS – выводит информации о GID.
$PWD – отображает текущую директорию.
$HOSTNAME – отображает имя хоста.
$HOME – выводит вашу домашнюю директорию.
$HOSTTYPE или $MACHTYPE – выводит архитектуру хоста, например 32bit или 64 bit.
$OSTYPE –определяет ОС, например — gnu Linux, sun sol и т.д. Удобно для контроля в какой среде запускается скрипт оболочки.
$TERM –выдает имя терминала.
$TMOUT – выход из оболочки если нет активности на терминале, полезно для безопасности сервера.
$PATH – выводит путь ко всем двоичным файлам, т.е. командам
$PIPESTATUS – для получения статуса вывода канала.
$BASH_VERSION – выводит версию bash. Удобно для контроля в какой среде запускается скрипт оболочки.
$PPID – выводит ID родительского процесса.
$PS1, $PS2, $PS3, $PS4 – различные подсказки. Они полезны для сценариев, управляемых меню.
В скриптах
$RANDOM – выдает случайное число, очень удобно для создания паролей новым пользователям.
$LINENO – Выдает номер строки на которой работает скрипт. Удобно для отладки.
$REPLY – содержит последнее значение чтения.
$SECONDS – выдает количество секунд которые скрипт запущен.
Позиционные параметры: $1, $2, $3, $4, $5, $6, $7, $8, $9
$0 – выдает имя скрипта
$* – все позиционные параметры
$@ – все позиционные параметры через пробел
$# – количество параметров
$$ – ID текущего процесса
$! – ID фонового задания
$? – ошибка или статус выхода
$_ – выдает последний аргумент предыдущей команды