<ก่อนหน้านี้ | เนื้อหา | ถัดไป>
ลองใช้การออกแบบพรอมต์ทางเลือกอื่น
ด้วยรายการอักขระพิเศษนี้ เราสามารถเปลี่ยนพรอมต์เพื่อดูเอฟเฟกต์ได้ ขั้นแรก เราจะสำรองข้อมูลสตริงพร้อมท์ที่มีอยู่ เพื่อให้สามารถกู้คืนได้ในภายหลัง ในการทำเช่นนี้ เราจะคัดลอกสตริงที่มีอยู่ไปยังตัวแปรเชลล์อื่นที่เราสร้างขึ้นเอง:
[me@linuxbox ~]$ ps1_old="$PS1"
[me@linuxbox ~]$ ps1_old="$PS1"
เราสร้างตัวแปรใหม่ที่เรียกว่า ps1_เก่า และกำหนดมูลค่าของ PS1 ไปที่มัน เราสามารถยืนยันได้ว่ามีการคัดลอกสตริงโดยใช้เครื่องหมาย เสียงสะท้อน คำสั่ง:
[me@linuxbox ~]$ เสียงสะท้อน $ps1_old
[\u@\h \W]\$
[me@linuxbox ~]$ เสียงสะท้อน $ps1_old
[\u@\h \W]\$
เราสามารถคืนค่าพรอมต์เดิมได้ตลอดเวลาระหว่างเซสชันเทอร์มินัลของเรา โดยเพียงแค่ย้อนกลับกระบวนการ:
[me@linuxbox ~]$ PS1="$ps1_old"
[me@linuxbox ~]$ PS1="$ps1_old"
ตอนนี้เราพร้อมที่จะดำเนินการต่อแล้ว มาดูกันว่าจะเกิดอะไรขึ้นหากเรามีสตริงพร้อมต์ว่าง:
[me@linuxbox ~]$ PS1=
[me@linuxbox ~]$ PS1=
ถ้าเราไม่ได้กำหนดสิ่งใดให้กับสตริงพร้อมต์ เราก็จะไม่ได้อะไรเลย ไม่มีสตริงพร้อมท์เลย! พรอมต์ยังคงอยู่ที่นั่น แต่ไม่แสดงอะไรเลย เช่นเดียวกับที่เราขอให้ทำ เนื่องจากเป็นการดูไม่ตรงกัน เราจะแทนที่ด้วยพรอมต์ขั้นต่ำ:
PS1="\$ "
PS1="\$ "
มันดีกว่า. อย่างน้อยตอนนี้เราก็สามารถเห็นสิ่งที่เรากำลังทำอยู่ สังเกตช่องว่างต่อท้ายภายในเครื่องหมายคำพูดคู่ ซึ่งจะให้ช่องว่างระหว่างเครื่องหมายดอลลาร์และเคอร์เซอร์เมื่อ
ลองใช้การออกแบบพรอมต์ทางเลือกอื่น
พรอมต์จะปรากฏขึ้น
มาเพิ่มระฆังในข้อความแจ้งของเรา:
$ PS1="\[\a\]\$ "
$ PS1="\[\a\]\$ "
ตอนนี้เราควรได้ยินเสียงบี๊บทุกครั้งที่มีการแสดงข้อความแจ้ง การดำเนินการนี้อาจสร้างความรำคาญได้ แต่อาจมีประโยชน์หากเราต้องการการแจ้งเตือนเมื่อมีการดำเนินการตามคำสั่งที่ใช้เวลานานเป็นพิเศษ โปรดทราบว่าเรารวม \[ และ \] ลำดับ ตั้งแต่ระฆัง ASCII (\a) ไม่ "พิมพ์" คือไม่ขยับเคอร์เซอร์เราต้องบอก ทุบตี จึงสามารถกำหนดความยาวของพรอมต์ได้อย่างถูกต้อง
ต่อไป ให้ลองสร้างข้อความแจ้งพร้อมชื่อโฮสต์และข้อมูลช่วงเวลาของวัน:
$ PS1="\A \h \$ "
17:33 ลินุกซ์บ็อกซ์ $
$ PS1="\A \h \$ "
17:33 ลินุกซ์บ็อกซ์ $
การเพิ่มช่วงเวลาของวันในข้อความแจ้งของเราจะเป็นประโยชน์หากเราจำเป็นต้องติดตามว่าเราทำงานบางอย่างเมื่อใด สุดท้าย เราจะสร้างข้อความแจ้งใหม่ที่คล้ายกับข้อความเดิมของเรา:
17:37 ลินุกซ์บ็อกซ์ $ PS1="<\u@\h \W>\$ "
$
17:37 ลินุกซ์บ็อกซ์ $ PS1="<\u@\h \W>\$ "
$
ลองใช้ลำดับอื่นๆ ที่แสดงในตารางด้านบน และดูว่าคุณสามารถสร้างข้อความแจ้งใหม่ที่ยอดเยี่ยมได้หรือไม่