1.3Kпросмотров
15.6%от подписчиков
20 марта 2026 г.
📷 ФотоScore: 1.4K
⚙️ Зарезервированные переменные Bash ✔️В командном интерпретаторе 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