เวิร์กสเตชันออนไลน์ของ OnWorks Linux และ Windows

โลโก้

ฟรีโฮสติ้งออนไลน์สำหรับเวิร์กสเตชัน

<ก่อนหน้านี้ | Contents | ถัดไป>

การขยายเพื่อจัดการตัวแปรว่าง

การขยายพารามิเตอร์หลายอย่างมีวัตถุประสงค์เพื่อจัดการกับตัวแปรที่ไม่มีอยู่จริงและว่างเปล่า การขยายเหล่านี้มีประโยชน์สำหรับการจัดการพารามิเตอร์ตำแหน่งที่ขาดหายไปและการกำหนดค่าข้อบกพร่องให้กับพารามิเตอร์

${พารามิเตอร์:-word}

If พารามิเตอร์ ไม่ได้ตั้งค่า (กล่าวคือ ไม่มีอยู่) หรือว่างเปล่า การขยายนี้ส่งผลให้เกิดค่าของ word. ถ้า พารามิเตอร์ ไม่ว่างเปล่าการขยายผลในค่าของ พารามิเตอร์.



[me@linuxbox ~]$ ฟู=

[me@linuxbox ~]$ echo ${foo:-"เปลี่ยนค่าถ้าไม่ได้ตั้งค่า"}

ค่าทดแทนหากไม่ได้ตั้งค่า [me@linuxbox ~]$ เสียงสะท้อน $foo


[me@linuxbox ~]$ ฟู=บาร์

[me@linuxbox ~]$ echo ${foo:-"เปลี่ยนค่าถ้าไม่ได้ตั้งค่า"}

บาร์

[me@linuxbox ~]$ เสียงสะท้อน $foo

บาร์

[me@linuxbox ~]$ ฟู=

[me@linuxbox ~]$ echo ${foo:-"เปลี่ยนค่าถ้าไม่ได้ตั้งค่า"}

ค่าทดแทนหากไม่ได้ตั้งค่า [me@linuxbox ~]$ เสียงสะท้อน $foo


[me@linuxbox ~]$ ฟู=บาร์

[me@linuxbox ~]$ echo ${foo:-"เปลี่ยนค่าถ้าไม่ได้ตั้งค่า"}

บาร์

[me@linuxbox ~]$ เสียงสะท้อน $foo

บาร์


${พารามิเตอร์:=word}

If พารามิเตอร์ ไม่ได้ตั้งค่าหรือว่างเปล่า การขยายนี้ส่งผลให้เกิดค่าของ word. นอกจากนี้ ค่าของ word ถูกกำหนดให้เป็น พารามิเตอร์. ถ้า พารามิเตอร์ ไม่ว่างเปล่าการขยายตัวส่งผลให้มีค่า พารามิเตอร์.


[me@linuxbox ~]$ ฟู=

[me@linuxbox ~]$ echo ${foo:="default value if unset"}

ค่าเริ่มต้นหากไม่ได้ตั้งค่า [me@linuxbox ~]$ เสียงสะท้อน $foo ค่าเริ่มต้นหากไม่ได้ตั้งค่า [me@linuxbox ~]$ ฟู=บาร์

[me@linuxbox ~]$ echo ${foo:="default value if unset"}

บาร์

[me@linuxbox ~]$ เสียงสะท้อน $foo

บาร์

[me@linuxbox ~]$ ฟู=

[me@linuxbox ~]$ echo ${foo:="default value if unset"}

ค่าเริ่มต้นหากไม่ได้ตั้งค่า [me@linuxbox ~]$ เสียงสะท้อน $foo ค่าเริ่มต้นหากไม่ได้ตั้งค่า [me@linuxbox ~]$ ฟู=บาร์

[me@linuxbox ~]$ echo ${foo:="default value if unset"}

บาร์

[me@linuxbox ~]$ เสียงสะท้อน $foo

บาร์


ภาพ

หมายเหตุ: ไม่สามารถกำหนดตำแหน่งและพารามิเตอร์พิเศษอื่น ๆ ด้วยวิธีนี้


ภาพ


${พารามิเตอร์:?word}

If พารามิเตอร์ ไม่ได้ตั้งค่าหรือว่างเปล่า ส่วนขยายนี้ทำให้สคริปต์ออกโดยมีข้อผิดพลาดและเนื้อหาของ word ถูกส่งไปยังข้อผิดพลาดมาตรฐาน ถ้า พารามิเตอร์ ไม่ว่างเปล่าการขยายผลในค่าของ พารามิเตอร์.



[me@linuxbox ~]$ ฟู=

[me@linuxbox ~]$ echo ${foo:?"พารามิเตอร์ว่างเปล่า"}

bash: foo: พารามิเตอร์ว่างเปล่า [me@linuxbox ~]$ ก้อง $?

1

[me@linuxbox ~]$ ฟู=บาร์

[me@linuxbox ~]$ echo ${foo:?"พารามิเตอร์ว่างเปล่า"}

บาร์

[me@linuxbox ~]$ ก้อง $?

0

[me@linuxbox ~]$ ฟู=

[me@linuxbox ~]$ echo ${foo:?"พารามิเตอร์ว่างเปล่า"}

bash: foo: พารามิเตอร์ว่างเปล่า [me@linuxbox ~]$ ก้อง $?

1

[me@linuxbox ~]$ ฟู=บาร์

[me@linuxbox ~]$ echo ${foo:?"พารามิเตอร์ว่างเปล่า"}

บาร์

[me@linuxbox ~]$ ก้อง $?

0


${พารามิเตอร์:+word}

If พารามิเตอร์ ไม่ได้ตั้งค่าหรือว่างเปล่า การขยายจะไม่มีผลอะไรเลย ถ้า พารามิเตอร์ ไม่ว่างเปล่าค่าของ word ถูกแทนที่ด้วย พารามิเตอร์; อย่างไรก็ตามค่าของ พารามิเตอร์ จะไม่เปลี่ยนแปลง



[me@linuxbox ~]$ ฟู=

[me@linuxbox ~]$ echo ${foo:+"แทนที่ค่าถ้าตั้งค่า"}


[me@linuxbox ~]$ ฟู=บาร์

[me@linuxbox ~]$ echo ${foo:+"แทนที่ค่าถ้าตั้งค่า"}

[me@linuxbox ~]$ ฟู=

[me@linuxbox ~]$ echo ${foo:+"แทนที่ค่าถ้าตั้งค่า"}


[me@linuxbox ~]$ ฟู=บาร์

[me@linuxbox ~]$ echo ${foo:+"แทนที่ค่าถ้าตั้งค่า"}


ค่าทดแทนถ้า set

ค่าทดแทนถ้า set


ระบบปฏิบัติการคลาวด์คอมพิวติ้งยอดนิยมที่ OnWorks: