&&
เป็นตัวดำเนินการเชิงตรรกะ ;
เป็นลำดับที่ง่าย
ในcmd1 && cmd2
cmd2 จะทำงานถ้า cmd1 ออกจากด้วยรหัสส่งคืนที่สำเร็จเท่านั้น
ในขณะที่cmd1; cmd2
cmd2 จะทำงานโดยไม่คำนึงถึงสถานะการออกของ cmd1 (สมมติว่าคุณยังไม่ได้ตั้งค่าเปลือกของคุณให้ออกจากความล้มเหลวทั้งหมดในสคริปต์หรือบางสิ่ง)
ในบันทึกย่อที่เกี่ยวข้องด้วยการcmd1 || cmd2
ใช้ตัว||
ดำเนินการเชิงตรรกะ 'OR' จะมีการเรียกใช้ cmd2 ต่อเมื่อ cmd1 ล้มเหลวเท่านั้น (ส่งคืนรหัสออกที่ไม่ใช่ศูนย์)
ตัวดำเนินการเชิงตรรกะเหล่านี้บางครั้งใช้ในสคริปต์แทนการพื้นฐานถ้าคำสั่ง ตัวอย่างเช่น,
if [[ -f "$foo" ]]; then mv "$foo" "${foo%.txt}.mkd"; fi
... สามารถทำให้รัดกุมยิ่งขึ้นด้วย:
[[ -f "$foo" ]] && mv "$foo" "${foo%.txt}.mkd"
& (simple sequencing), && (conditional AND) and || (conditional OR)
วินบรรทัดคำสั่งและชุดมีคุณสมบัติเดียวกัน: