สำหรับบางเซสชั่นเชลล์ฉันต้องการพิมพ์แฟล็กคำเตือนหากไม่ได้ตั้งค่าและส่งออกตัวแปรเชลล์
มันค่อนข้างง่ายที่จะทำสิ่งนี้เพื่อพิมพ์ "ข้อผิดพลาด" ในพรอมต์หากSET_ME
ไม่ได้ตั้งค่าหรือเป็นโมฆะ
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-only เป็นที่ยอมรับ
typeset
คุณลักษณะอื่น ๆ