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