Untuk beberapa sesi shell saya ingin dapat mencetak bendera peringatan jika variabel shell tidak diatur dan diekspor.
Cukup mudah untuk melakukan hal seperti ini untuk mencetak "Kesalahan" pada prompt jika SET_ME
tidak disetel atau null.
test_var () { test -z "$1" && echo Error; }
PS1='$(test_var "$SET_ME") \$ '
Namun ini gagal menandai jika saya mengatur SET_ME
tanpa mengekspornya, yang merupakan kesalahan yang ingin saya deteksi. Kurang dari sesuatu seperti $(bash -c 'test -z "$SET_ME" && echo Error;')
atau menangkap output export
, apakah ada pemeriksaan sederhana yang dapat saya lakukan untuk menguji apakah SET_ME
telah diekspor?
Solusi non-POSIX, bash-only sepenuhnya dapat diterima.
typeset
atribut lain .