W przypadku niektórych sesji powłoki chcę mieć możliwość drukowania flagi ostrzeżenia, jeśli zmienna powłoki nie jest ustawiona i wyeksportowana.
Jest dość proste, aby zrobić coś takiego, aby wydrukować „Błąd” w monicie, jeśli SET_ME
jest rozbrojony lub zerowy.
test_var () { test -z "$1" && echo Error; }
PS1='$(test_var "$SET_ME") \$ '
Jednak to nie oznacza flagi, jeśli ustawię SET_ME
bez eksportowania, co jest błędem, który chcę wykryć. Czy brakuje czegoś takiego jak $(bash -c 'test -z "$SET_ME" && echo Error;')
grepowanie export
, czy jest prosty test, który mogę zrobić, aby sprawdzić, czy SET_ME
został wyeksportowany?
Rozwiązanie nieobsługujące POSIX, tylko bash, jest całkowicie dopuszczalne.
typeset
atrybutów.