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

โลโก้

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

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

สถานะการออก

คำสั่ง (รวมถึงสคริปต์และฟังก์ชันเชลล์ที่เราเขียน) ออกค่าให้กับระบบเมื่อคำสั่งนั้นยุติลง เรียกว่า an สถานะทางออก. ค่านี้ซึ่งเป็นจำนวนเต็มในช่วง 0 ถึง 255 บ่งชี้ความสำเร็จหรือความล้มเหลวของการดำเนินการคำสั่ง ตามแบบแผน ค่าศูนย์บ่งชี้ความสำเร็จ และค่าอื่นใดบ่งชี้ความล้มเหลว เชลล์มีพารามิเตอร์ที่เราสามารถใช้เพื่อตรวจสอบสถานะการออก ที่นี่เราเห็นมันในการดำเนินการ:



[me@linuxbox ~]$ ls -d /usr/bin

/ usr / bin

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

0

[me@linuxbox ~]$ ls -d /bin/usr

ls: ไม่สามารถเข้าถึง /bin/usr: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว [me@linuxbox ~]$ ก้อง $?

2

[me@linuxbox ~]$ ls -d /usr/bin

/ usr / bin

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

0

[me@linuxbox ~]$ ls -d /bin/usr

ls: ไม่สามารถเข้าถึง /bin/usr: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว [me@linuxbox ~]$ ก้อง $?

2

สถานะการออก


ในตัวอย่างนี้ เราดำเนินการ ls สั่งสองครั้ง ครั้งแรกที่คำสั่งดำเนินการสำเร็จ ถ้าเราแสดงค่าของพารามิเตอร์ $?เราจะเห็นว่ามันเป็นศูนย์ เราดำเนินการ ls สั่งครั้งที่สอง (ระบุไดเร็กทอรีที่ไม่มีอยู่) สร้างข้อผิดพลาดและตรวจสอบพารามิเตอร์ $? อีกครั้ง. คราวนี้มี 2 ซึ่งบ่งชี้ว่าคำสั่งพบข้อผิดพลาด คำสั่งบางคำสั่งใช้ค่าสถานะการออกที่แตกต่างกันเพื่อให้การวินิจฉัยข้อผิดพลาด ในขณะที่คำสั่งจำนวนมากเพียงแค่ออกด้วยค่าหนึ่งเมื่อล้มเหลว หน้าคนมักมีส่วนที่ชื่อว่า "สถานะการออก" ซึ่งอธิบายว่ามีการใช้รหัสใดบ้าง อย่างไรก็ตาม XNUMX เสมอบ่งบอกถึงความสำเร็จ

เชลล์จัดเตรียมคำสั่งบิวด์อินอย่างง่ายสองคำสั่งที่ไม่ทำอะไรเลย ยกเว้น ยุติด้วยสถานะออกเป็นศูนย์หรือหนึ่งสถานะ NS จริง คำสั่งดำเนินการสำเร็จเสมอ- อย่างเต็มที่และ เท็จ คำสั่งดำเนินการไม่สำเร็จเสมอ:


[me@linuxbox ~]$ จริง [me@linuxbox ~]$ ก้อง $? 0

[me@linuxbox ~]$ เท็จ [me@linuxbox ~]$ ก้อง $? 1

[me@linuxbox ~]$ จริง [me@linuxbox ~]$ ก้อง $? 0

[me@linuxbox ~]$ เท็จ [me@linuxbox ~]$ ก้อง $? 1


เราสามารถใช้คำสั่งเหล่านี้เพื่อดูว่า if คำสั่งทำงาน สิ่งที่ if คำสั่งทำจริง ๆ คือประเมินความสำเร็จหรือความล้มเหลวของคำสั่ง:



[me@linuxbox ~]$ ถ้าเป็นจริง; แล้วก้อสะท้อนว่า"จริง"; fi

มันเป็นความจริง.

[me@linuxbox ~]$ ถ้าเท็จ; แล้วก้อสะท้อนว่า"จริง"; fi

[me@linuxbox ~]$

[me@linuxbox ~]$ ถ้าเป็นจริง; แล้วก้อสะท้อนว่า"จริง"; fi

มันเป็นความจริง.

[me@linuxbox ~]$ ถ้าเท็จ; แล้วก้อสะท้อนว่า"จริง"; fi

[me@linuxbox ~]$


คำสั่ง ก้อง "มันเป็นเรื่องจริง" ถูกดำเนินการเมื่อคำสั่งตามหลัง if exe- cutes สำเร็จและไม่ถูกดำเนินการเมื่อคำสั่งที่ตามมา if ดำเนินการไม่สำเร็จ หากรายการคำสั่งดังต่อไปนี้ ifคำสั่งสุดท้ายในรายการจะถูกประเมิน:


[me@linuxbox ~]$ หากเป็นเท็จ จริง; แล้วก้อสะท้อนว่า"จริง"; fi มันเป็นความจริง.

[me@linuxbox ~]$ ถ้าจริง; เท็จ; แล้วก้อสะท้อนว่า"จริง"; fi [me@linuxbox ~]$

[me@linuxbox ~]$ หากเป็นเท็จ จริง; แล้วก้อสะท้อนว่า"จริง"; fi มันเป็นความจริง.

[me@linuxbox ~]$ ถ้าจริง; เท็จ; แล้วก้อสะท้อนว่า"จริง"; fi [me@linuxbox ~]$


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