Для деяких сеансів оболонки я хочу мати можливість надрукувати попереджувальний прапор, якщо змінна оболонки не встановлена та експортована.
Зробити щось подібне досить просто, щоб надрукувати "Помилка" у запиті, якщо 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, тільки для удару, є цілком прийнятним.
typesetатрибутів.