<ก่อนหน้านี้ | เนื้อหา | ถัดไป>
ผู้ปฏิบัติงานควบคุม: อีกทางหนึ่งสู่สาขา
bash มีโอเปอเรเตอร์ควบคุมสองตัวที่สามารถแยกสาขาได้ The && (และ) และ || ตัวดำเนินการ (OR) ทำงานเหมือนกับตัวดำเนินการเชิงตรรกะในคำสั่งผสม [[ ]] นี่คือไวยากรณ์:
คำสั่ง1 && คำสั่ง2
และ
คำสั่ง1 || คำสั่ง2
สิ่งสำคัญคือต้องเข้าใจพฤติกรรมเหล่านี้ กับ && ผู้ประกอบการ คำสั่ง1 ถูกประหารชีวิตและ คำสั่ง2 จะดำเนินการถ้า และถ้า, คำสั่ง1 ประสบความสำเร็จ กับ || ผู้ประกอบการ คำสั่ง1 ถูกประหารชีวิตและ คำสั่ง2 จะดำเนินการถ้า และถ้า, คำสั่ง1 ไม่สำเร็จ
ในทางปฏิบัติหมายความว่าเราสามารถทำสิ่งนี้ได้:
[me@linuxbox ~]$ mkdir temp && cd temp
[me@linuxbox ~]$ mkdir temp && cd temp
สิ่งนี้จะสร้างไดเร็กทอรีชื่อ อุณหภูมิและหากสำเร็จ ไดเร็กทอรีการทำงานปัจจุบันจะเปลี่ยนเป็น อุณหภูมิ. คำสั่งที่สองจะพยายามก็ต่อเมื่อคำสั่ง mkdir คำสั่งสำเร็จ ในทำนองเดียวกันคำสั่งเช่นนี้:
[me@linuxbox ~]$ [[ -d อุณหภูมิ ]] || mkdir ชั่วคราว
[me@linuxbox ~]$ [[ -d อุณหภูมิ ]] || mkdir ชั่วคราว
จะทดสอบการมีอยู่ของไดเร็กทอรี อุณหภูมิและหากการทดสอบล้มเหลว ไดเร็กทอรีจะถูกสร้างขึ้นเท่านั้น โครงสร้างประเภทนี้มีประโยชน์มากสำหรับการจัดการข้อผิดพลาดในสคริปต์ หัวข้อที่เราจะพูดถึงเพิ่มเติมในบทต่อๆ ไป ตัวอย่างเช่น เราสามารถทำได้ในสคริปต์:
[ -d อุณหภูมิ ] || ทางออก 1
[ -d อุณหภูมิ ] || ทางออก 1
หากสคริปต์ต้องการไดเร็กทอรี อุณหภูมิและไม่มีอยู่ สคริปต์จะยุติด้วยสถานะออกหนึ่งสถานะ