Bash - умная инициализация переменных

Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2026
Версия от 20:47, 13 мая 2026; Admin iph (обсуждение | вклад) (Новая страница: «=== Bash - умная инициализация переменных === Пример кода: COOKIE_FILE="${COOKIE_FILE:-/tmp/3x-ui.cookies.$$}" Опе...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Bash - умная инициализация переменных

Пример кода:

COOKIE_FILE="${COOKIE_FILE:-/tmp/3x-ui.cookies.$$}"


Оператор ${VARIABLE:-DEFAULT}
Это механизм подстановки значения по умолчанию.
Если переменная COOKIE_FILE уже существует и не пуста, будет использовано её текущее значение.
Если она не задана или пуста, Bash подставит то, что идет после знака :-.


$$ — это специальная переменная Bash, которая возвращает ID текущего процесса (PID).
Зачем здесь $$?
Использование $$ в названии файла — это классический прием, чтобы избежать конфликтов. Если вы запустите два одинаковых скрипта одновременно, у них будут разные PID. Благодаря этому они не будут пытаться писать данные в один и тот же файл одновременно и не «передерутся» за него.
×
Реклама
ИКС