กลับไปหน้าบทความ

อ่าน 2 นาที

จริงและเท็จ (คำสั่ง)

true และ false เป็น คำสั่ง เชลล์ ที่ออกจากโปรแกรมทันทีโดยมี สถานะการออกเป็น 0 หรือ 1 ตามลำดับ เนื่องจากสคริปต์จะกำหนดสถานะการออกของกระบวนการเป็นค่าของคำสั่งสุดท้ายที่รัน...

จริงและเท็จ (คำสั่ง)

จริง
ปล่อยมกราคม พ.ศ. 2522 ( 1979-01 )
ระบบปฏิบัติการยูนิซและระบบปฏิบัติการที่คล้ายยูนิซ
แพลตฟอร์มข้ามแพลตฟอร์ม
พิมพ์สั่งการ

trueและfalseเป็นคำสั่งเชลล์ ที่ออกจากโปรแกรมทันทีโดยมีสถานะการออกเป็น 0 หรือ 1 ตามลำดับ เนื่องจากสคริปต์จะกำหนดสถานะการออกของกระบวนการเป็นค่าของคำสั่งสุดท้ายที่รัน คำสั่งเหล่านี้จึงสามารถใช้เพื่อกำหนดสถานะการออกของการรันสคริปต์ได้ เชลล์ Unix ทั้งหมดจะตีความสถานะการออกเป็นศูนย์ว่าสำเร็จ และค่าที่ไม่ใช่ศูนย์ (โดยปกติ) ว่าล้มเหลว ดังนั้น จึงกำหนดให้ เป็นสำเร็จ และกำหนดให้ เป็นล้มเหลว[หมายเหตุ 1 ]truefalse

คำสั่งเหล่านี้มีให้ใช้งานในระบบ ปฏิบัติการที่คล้ายกับ Unix

ใช้

คำสั่งเหล่านี้มักใช้ในคำสั่งเงื่อนไขและลูปของสคริปต์เชลล์ตัวอย่างเช่น สคริปต์ต่อไปนี้จะทำงานซ้ำ ๆecho helloจนกว่าจะถูกขัดจังหวะ:

ในขณะที่เป็นจริงให้แสดงข้อความ "สวัสดี" เสร็จแล้ว

คำสั่งเหล่านี้สามารถใช้เพื่อละเว้นความสำเร็จหรือความล้มเหลวของลำดับคำสั่งอื่นๆ ได้ ดังตัวอย่างต่อไปนี้:

สร้างและเท็จ

การตั้ง ค่า login shellของผู้ใช้เป็นfalseในไฟล์ /etc/passwdจะเป็นการปิดกั้นการเข้าถึง interactive shell ของผู้ใช้ แต่บัญชีของผู้ใช้อาจยังคงใช้งานได้สำหรับบริการอื่นๆ เช่นFTP (อย่างไรก็ตาม/sbin/nologinหากมี อาจเหมาะสมกว่าสำหรับจุดประสงค์นี้ เนื่องจากจะแสดงข้อความแจ้งเตือนก่อนที่จะยุติเซสชัน)

โปรแกรมเหล่านี้ไม่รับอาร์กิวเมนต์จากบรรทัดคำสั่ง ยกเว้น เวอร์ชัน GNUที่รับอาร์กิวเมนต์ทั่วไป--helpและ--versionตัวเลือกต่างๆ

คำสั่งว่าง

บางครั้ง คำ สั่ง trueจะถูกแทนที่ด้วยคำสั่ง null ที่คล้ายกันมาก[ 1 ]ซึ่งเขียนเป็นเครื่องหมายโคลอนเดี่ยว ( :) คำสั่ง null ถูกสร้างขึ้นในเชลล์และอาจมีประสิทธิภาพมากกว่าหากtrueเป็นโปรแกรมภายนอก ( โดยปกติ trueเป็นฟังก์ชันในตัวของเชลล์) เราสามารถเขียนตัวอย่างข้างต้นใหม่โดยใช้:แทนtrue:

ในขณะที่ : ทำการแสดงข้อความสวัสดี เสร็จสิ้น

คำสั่ง null อาจรับพารามิเตอร์ซึ่งจะถูกละเว้น นอกจากนี้ยังใช้เป็น คำสั่งดัมมี่ ที่ไม่มีการดำเนินการใดๆสำหรับผลข้างเคียง เช่น การกำหนดค่าเริ่มต้นให้กับตัวแปรเชลล์ผ่าน${parameter:=word}รูปแบบการขยายพารามิเตอร์[ 2 ]ตัวอย่างเช่น จากbashbugซึ่งเป็นสคริปต์รายงานข้อบกพร่องสำหรับBash :

: ${ TMPDIR :=/tmp } : ${ EDITOR = $DEFEDITOR } : ${ USER = ${ LOGNAME - ` whoami ` }}

สไมลี่ว่างเปล่า

สามารถ ใช้ trueหรือ:แทน ได้ดังนั้นจึงมี "สไมลี่ว่าง" 3 แบบ: cat/dev/null

:>- สร้างไฟล์ใหม่ หรือล้างไฟล์หากมีอยู่แล้ว
:>>- สร้างไฟล์หากยังไม่มีอยู่ ซึ่งtouchจะไม่เปลี่ยนแปลงเวลาประทับของไฟล์ที่มีอยู่แล้ว
:|- สามารถใช้แทนได้< /dev/null

การใช้งานลักษณะนี้คล้ายคลึงกับการใช้งานมาตรฐานของ IEFBR14

ดูเพิ่มเติม

  • IEFBR14  – โปรแกรม "ไม่ทำอะไรเลย" บนเมนเฟรมของ IBM
  • รายการคำสั่ง POSIX
  • ตรรกศาสตร์สองค่า  – ตรรกศาสตร์แบบคลาสสิกที่มีสองค่า คือ จริงหรือเท็จ

หมายเหตุ

  1. ^ค่าเหล่านี้แตกต่างจากค่าความจริงของตรรกะแบบคลาสสิกและภาษาโปรแกรมทั่วไปส่วนใหญ่ ได้แก่จริง (1 หรือ T)และเท็จ (0 หรือ ⊥)โปรดทราบว่าคำสั่งในตัวtrueจะกำหนดสถานะการออก ในขณะที่โปรแกรมtrueจะส่งคืนค่าเดิมโดยมีผลเช่นเดียวกัน

หน้าคู่มือ

  • true(1) : ไม่ทำอะไรเลย สำเร็จ – เอกสารอ้างอิงGNU Coreutils
  • เท็จ(1) : ไม่ทำอะไรเลย ไม่สำเร็จ – เอกสารอ้างอิงGNU Coreutils
  • true(1) : ส่งคืนค่า true – หน้าคู่มือFreeBSD
  • เท็จ(1) : ส่งคืนค่าเท็จ – หน้าคู่มือFreeBSD
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=True_and_false_(commands)&oldid=1344326298 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ จริงและเท็จ (คำสั่ง)

true และ false เป็น คำสั่ง เชลล์ ที่ออกจากโปรแกรมทันทีโดยมี สถานะการออกเป็น 0 หรือ 1 ตามลำดับ เนื่องจากสคริปต์จะกำหนดสถานะการออกของกระบวนการเป็นค่าของคำสั่งสุดท้ายที่รัน...

ใช้

คำสั่งเหล่านี้มักใช้ใน คำสั่งเงื่อนไข และ ลูป ของ สคริปต์เชลล์ ตัวอย่างเช่น สคริปต์ต่อไปนี้จะทำงานซ้ำ ๆ echo hello จนกว่าจะถูกขัดจังหวะ:

คำสั่งว่าง

บางครั้ง คำ สั่ง true จะถูกแทนที่ด้วยคำสั่ง null ที่คล้ายกันมาก [ 1 ] ซึ่งเขียนเป็นเครื่องหมายโคลอนเดี่ยว ( : ) คำสั่ง null ถูก สร้างขึ้นในเชลล์ และอาจมีประสิทธิภาพมากกว่าหาก true เป็นโปรแกรมภายนอก ( โดยปกติ true เป็นฟังก์ชันในตัวของเชลล์)...

สไมลี่ว่างเปล่า

สามารถ ใช้ true หรือ : แทน ได้ดังนั้นจึงมี "สไมลี่ว่าง" 3 แบบ: cat /dev/null