การขยายตัวของตัวแปร${parameter:-word}จะใช้ค่าของ$parameterถ้ามันเป็นชุดและไม่ใช่ null (ไม่สตริงที่ว่างเปล่า) wordมิฉะนั้นจะใช้สตริง
การข้าม:จะไม่ทดสอบว่าค่าว่างเปล่าหรือไม่เท่านั้นไม่ว่าจะเป็นค่านั้น
ซึ่งหมายความว่า${PS1-}จะขยายเป็นค่า$PS1หากตั้งไว้ แต่เป็นสตริงว่างถ้าว่างหรือไม่ได้ตั้งค่า ในกรณีนี้เป็นเหมือนกันในฐานะ${PS1:-}เป็นสตริงหลังจากที่-ยังเป็นที่ว่างเปล่า
ความแตกต่างระหว่าง"${PS1-}"และ"$PS1"มีความละเอียดอ่อนตามที่ @Rakesh Sharma หมายเหตุ: ทั้งสองจะขยายเป็นค่าของ$PS1หรือเป็นสตริงว่างถ้ามันไม่มีการตั้งค่า ยกเว้นเมื่อset -uมีการใช้งานในกรณีที่การขยายตัวแปรล้างจะทำให้เกิดข้อผิดพลาด ค่าเริ่มต้น (ว่าง) ตั้งโดย"${PS1-}"หลีกเลี่ยงสิ่งนี้ขยายการตั้งค่าPS1เป็นสตริงว่างโดยไม่มีข้อผิดพลาด
นี่คือไวยากรณ์มาตรฐาน ( มีต้นกำเนิดในเชลล์เป้าหมายในช่วงปลายยุค 70 ) ซึ่งเป็นส่วนขยายอื่น ๆ ที่คล้ายกันสองสามรายการ