일부 쉘 세션의 경우 쉘 변수를 설정하고 내 보내지 않으면 경고 플래그를 인쇄 할 수 있기를 원합니다.
프롬프트 SET_ME
가 설정되지 않았거나 null 인 경우 "오류"를 인쇄하기 위해 이와 같은 작업을 수행하는 것은 매우 간단합니다 .
test_var () { test -z "$1" && echo Error; }
PS1='$(test_var "$SET_ME") \$ '
그러나 SET_ME
내보내기하지 않고 설정하면 플래그가 표시되지 않습니다 . 이는 감지 할 수있는 오류입니다. $(bash -c 'test -z "$SET_ME" && echo Error;')
의 출력 과 같은 또는 grepping export
이 부족한 경우 SET_ME
내보내기 여부를 테스트 할 수있는 간단한 검사가 있습니까?
비 POSIX, bash 전용 솔루션은 완전히 허용됩니다.
typeset
속성을 사용하지 않습니다 .