ใช้&&โอเปอเรเตอร์
cmd1 && cmd2 && cmd3
ใน shellscripting &&และ||โอเปอเรเตอร์ถูกจำลองหลังจากปรับใช้งานตัวดำเนินการเชิงตรรกะใน C &&หมายถึงตัวดำเนินการ AND และ||หมายถึง OR Unix เกี่ยวข้องกับ C อย่างแน่นหนาและใน C ตัวถูกดำเนินการตัวที่สองของตัวดำเนินการเชิงตรรกะไม่ได้รับการประเมินถ้าทราบผลลัพธ์จากตัวถูกดำเนินการแรก เช่น"false && x"นี้ใช้falseสำหรับการใด ๆxดังนั้นจึงไม่จำเป็นต้องประเมินผลx(โดยเฉพาะถ้าxเป็นการเรียกใช้ฟังก์ชัน); "true || x"เช่นเดียวกันกับ นี้จะเรียกว่าไฟฟ้าลัดวงจร-ความหมาย
และใน Unix มันเป็นแบบดั้งเดิมในการตีความค่าส่งคืนคำสั่งว่า "ความสำเร็จที่สมบูรณ์" ค่าความจริง: รหัสทางออก 0 หมายถึงtrue(สำเร็จ), ไม่ใช่ศูนย์false(ล้มเหลว) ดังนั้นเมื่อคำสั่งแรกในการcmd1 && cmd2ส่งกลับ"false"(สถานะทางออกที่ไม่ใช่ศูนย์ซึ่งบ่งชี้ความล้มเหลว) สถานะของคำสั่งผสมเป็นที่รู้จักกัน: ความล้มเหลว ดังนั้นการตีความโดยรวมของcmd1 && cmd2 อาจเป็น: "ดำเนินการcmd1และจากนั้นถ้ามันไม่ได้ล้มเหลวcmd2" สิ่งใดที่คุณต้องการในคำถามของคุณ
ในทำนองเดียวกันกับ OR: cmd1 || cmd2สามารถตีความได้ว่า "execute cmd1หรือถ้าล้มเหลวcmd2"
Protip:สำหรับกลุ่มที่ยาวขึ้น&&ลองใส่set -eสคริปต์ของคุณ มันเป็นพื้นเปลี่ยนแปลงอัฒภาค;เข้า&&กับคู่ของกรณีพิเศษ