Для некоторых сеансов оболочки я хочу иметь возможность печатать флаг предупреждения, если переменная оболочки не установлена и не экспортирована.
Довольно просто сделать что-то подобное, чтобы напечатать "Error" в приглашении, если SET_ME
не установлен или имеет значение null.
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 решение полностью приемлемо.