Для некоторых сеансов оболочки я хочу иметь возможность печатать флаг предупреждения, если переменная оболочки не установлена и не экспортирована.
Это довольно просто сделать что-то вроде этого, чтобы напечатать «Ошибка» в приглашении, если SET_ME
не установлено или равно нулю.
test_var () { test -z "$1" && echo Error; }
PS1='$(test_var "$SET_ME") \$ '
Однако это не помечается, если я установил SET_ME
без экспорта, что является ошибкой, которую я хочу быть в состоянии обнаружить. Если не $(bash -c 'test -z "$SET_ME" && echo Error;')
считать чего-то вроде или сгладить вывод export
, есть ли простая проверка, которую я могу сделать, чтобы проверить, SET_ME
был ли экспортирован?
Не POSIX, bash-only решение полностью приемлемо.
typeset
атрибуты.