✔️В командном интерпретаторе Bash есть зарезервированные переменные, которые имеют специальное назначение. Они начинаются с символа "
$" и используются в скриптах для выполнения различных операций.➡️ Некоторые зарезервированные переменные Bash и их значения:
💠
$DIRSTACK — содержимое вершины стека каталогов;💠
$EDITOR — текстовый редактор по умолчанию;💠
$EUID — эффективный UID (если использовалась программа su для выполнения команд от другого пользователя, эта переменная содержит UID этого пользователя);💠
$UID — реальный идентификатор, который устанавливается только при логине;💠
$FUNCNAME — имя текущей функции в скрипте;💠
$GROUPS — массив групп, к которым принадлежит текущий пользователь;💠
$HOME — домашний каталог пользователя;💠
$HOSTNAME — hostname машины;💠
$HOSTTYPE — архитектура машины;💠
$LC_CTYPE — внутренняя переменная, которая определяет кодировку символов;💠
$OLDPWD — прежний рабочий каталог;💠
$OSTYPE — тип ОС;💠
$PATH — путь поиска программ;💠
$PPID — идентификатор родительского процесса;💠
$SECONDS — время работы скрипта (в сек.);💠
$# — общее количество параметров, переданных скрипту;💠
$* — все аргументы, передаваемые скрипту (выводятся в строку);💠
$@ — то же самое, но параметры выводятся в столбик;💠
$! — PID последнего запущенного в фоне процесса;💠
$$ — PID самого скрипта;💠
$? — содержит код завершения последней команды.➡️ Использование:
▶️Зарезервированные переменные используются для выполнения различных операций, например:
💠Переменная
$0 — хранит имя скрипта или оболочки, которая выполняется в данный момент. Используется для получения имени скрипта, чтобы отобразить его в выходных данных или проверить, запущен ли скрипт.💠Переменная
$# — хранит количество аргументов командной строки, переданных скрипту. Используется для проверки количества аргументов перед их обработкой.💠Переменные
$* и $@ — хранят все аргументы командной строки, передаваемые скрипту, в виде одной строки и отдельных строк соответственно. Переменная $* разделяет аргументы первым символом переменной IFS, в то время как переменная $@ разделяет аргументы пробелами.💠Переменная
$! — хранит идентификатор процесса (PID) последнего выполнявшегося фонового процесса. Используется для проверки состояния фонового процесса или для его завершения при необходимости.💠Переменная
$IFS — хранит внутренний разделитель полей, который используется для разделения строки на поля. По умолчанию для переменной IFS заданы пробелы, табуляция и символы новой строки.🔨 bash_help
