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