ฉันเจอโค้ดที่ใช้ไวยากรณ์นี้ในเงื่อนไข if:
if [ ! -z ${VARIABLE+x} ]; then
some commands here
fi
มันทดสอบตัวแปรที่ไม่ว่างหรือไม่? หากเป็นเช่นนั้น จะแตกต่างจาก ! -z "$VARIABLE"
อย่างไร
ฉันเจอโค้ดที่ใช้ไวยากรณ์นี้ในเงื่อนไข if:
if [ ! -z ${VARIABLE+x} ]; then
some commands here
fi
มันทดสอบตัวแปรที่ไม่ว่างหรือไม่? หากเป็นเช่นนั้น จะแตกต่างจาก ! -z "$VARIABLE"
อย่างไร
ดู ส่วนขยายพารามิเตอร์ ใน man bash
:
${parameter:+word}
ใช้ค่าสำรอง หาก
parameter
เป็นโมฆะหรือไม่ได้ตั้งค่า จะไม่มีการทดแทนใดๆ มิฉะนั้น ส่วนขยายของword
จะถูกทดแทน
และสองสามย่อหน้าข้างต้นในส่วนเดียวกัน:
การละเครื่องหมายโคลอนจะทำให้มีการทดสอบเฉพาะพารามิเตอร์ที่ไม่ได้ตั้งค่าไว้