ในบทเรียนและวิธีการฉันมักจะเห็นคำสั่งรวมกัน ตัวอย่างเช่น
sudo apt-get update && sudo apt-get install pyrenamer
ดูเหมือนจะมีสี่การเชื่อมต่อเป็นไปได้: &
, &&
, และ||
;
แม้ว่า&
ตัวเชื่อมต่อนั้นจะชัดเจนสำหรับฉัน (มันส่งกระบวนการไปยังพื้นหลังและทำให้เทอร์มินัลว่าง) แต่ก็ไม่ชัดเจนว่าความแตกต่างระหว่าง&&
และ;
คืออะไร และฉันไม่รู้||
จนกระทั่งถึงความคิดเห็นของ Kaya
คำถามต่อไปนี้จะจัดการกับความแตกต่างระหว่างตัวเชื่อมต่อทั้งสอง แต่ส่วนใหญ่ทำในความคิดเห็น:
ดังนั้นนี่คือคำถามที่เกี่ยวข้องจำนวนหนึ่ง:
- ความแตกต่างระหว่าง
;
และ&&
คืออะไร? - เมื่อใดที่คุณควรใช้ตามลำดับ มันจะเป็นการดีถ้าได้เห็นการใช้งานบางกรณี: ถ้าฉันต้องการเรียกใช้คำสั่งแล้วหลังจากปิดคอมพิวเตอร์ฉันควรเลือกขั้วต่อไหน?
- ข้อดีและอันตรายของพวกเขาคืออะไร Robie Basakกล่าวถึงความคิดเห็นในคำตอบนี้ว่าคำสั่งเช่น
cd /somewhere_else; rm -Rf *
นั้นอาจมีผลที่ตามมาทำลายหากองค์ประกอบแรกในห่วงโซ่คำสั่งล้มเหลวตัวอย่างเช่น - หากเกี่ยวข้องพวกเขามาจากไหน
set -e
&&
||
เป็นเช่นเดียวกับ&&
ยกเว้นว่าจะเรียกใช้งานคำสั่งที่สองเฉพาะถ้าตัวแรกออกจากสถานะที่ไม่เป็นศูนย์ (ไม่สำเร็จ)