สิ่งมหัศจรรย์สหภาพของคุณคืออัฒภาค ... และวงเล็บปีกกา:
{ cat wordlist.txt ; ls ~/folder/* ; } | wc -l
วงเล็บปีกกาเป็นเพียงการจัดกลุ่มคำสั่งเข้าด้วยกันเพื่อให้ป้ายไปป์|
มีผลต่อเอาต์พุตรวม
คุณยังสามารถใช้วงเล็บ()
ล้อมรอบกลุ่มคำสั่งซึ่งจะรันคำสั่งในเชลล์ย่อย ชุดนี้มีชุดของความแตกต่างเล็กน้อยพร้อมกับเครื่องมือจัดฟันแบบหยักเช่นลองทำสิ่งต่อไปนี้:
cd $HOME/Desktop ; (cd $HOME ; pwd) ; pwd
cd $HOME/Desktop ; { cd $HOME ; pwd ; } ; pwd
คุณจะเห็นว่าตัวแปรสภาพแวดล้อมทั้งหมดรวมถึงไดเรกทอรีการทำงานปัจจุบันจะถูกรีเซ็ตหลังจากออกจากกลุ่มวงเล็บ แต่ไม่หลังจากออกจากกลุ่มหยิก - รั้ง
สำหรับเซมิโคลอนตัวเลือกรวมถึง&&
และ||
เครื่องหมายซึ่งจะดำเนินการตามคำสั่งที่มีเงื่อนไขเฉพาะในกรณีที่เป็นครั้งแรกที่ประสบความสำเร็จหรือไม่ตามลำดับเช่น
cd $HOME/project && make
ls $HOME/project || echo "Directory not found."