Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม BASH

วิธีใช้คำสั่งแบ่งและดำเนินการต่อในเชลล์สคริปต์

ในบทความนี้ เราจะมาดูวิธีการใช้ ตัวแบ่ง และ ต่อ ในสคริปต์ทุบตี ใน bash เรามีโครงสร้างลูปหลักสามตัว (สำหรับ , ในขณะที่ , จนถึง ). พัก และ ต่อ คำสั่งเป็น bash ในตัวและใช้เพื่อเปลี่ยนโฟลว์ของลูปของคุณ แนวคิดเรื่อง break and continue นี้มีให้บริการในภาษาโปรแกรมยอดนิยม เช่น Python .

$ type -a break continue
วิธีใช้คำสั่งแบ่งและดำเนินการต่อในเชลล์สคริปต์

ออกจากลูปด้วยคำสั่งแบ่ง

แตกหัก คำสั่งจะออกจากลูปและการควบคุมจะถูกส่งไปยังคำสั่งถัดไปในลูป คุณสามารถเรียกใช้ ความช่วยเหลือ คำสั่งเพื่อรับข้อมูลเกี่ยวกับ พัก คำสั่ง

$ help break
วิธีใช้คำสั่งแบ่งและดำเนินการต่อในเชลล์สคริปต์

ไวยากรณ์พื้นฐานของการแบ่ง

$ break [n]

n is optional

ลองดูตัวอย่างด้านล่าง นี่เป็นวิธีง่ายๆ สำหรับการวนซ้ำที่วนซ้ำในช่วงของค่าตั้งแต่ 1 ถึง 20 ในขั้นตอนที่เพิ่มขึ้น 2 คำสั่งแบบมีเงื่อนไขจะประเมินนิพจน์และเมื่อ true($val =9) จากนั้นจะเรียกใช้คำสั่ง break และการวนซ้ำจะถูกยกเลิกโดยข้ามการวนซ้ำที่เหลือ

#!/usr/bin/bash

for val in {1..20..2}
do
  If [[ $val -eq 9 ]]
  then
     break
  else
  echo "printing ${val}"
fi
done
วิธีใช้คำสั่งแบ่งและดำเนินการต่อในเชลล์สคริปต์

ข้ามการทำซ้ำด้วยคำชี้แจงต่อ

จะเกิดอะไรขึ้นถ้าคุณไม่ต้องการที่จะออกจากลูปโดยสมบูรณ์ แต่ข้ามบล็อกของโค้ดเมื่อตรงตามเงื่อนไขที่กำหนด สามารถทำได้ด้วย ดำเนินการต่อ คำแถลง. ดำเนินการต่อ คำสั่งจะข้ามการดำเนินการของบล็อกโค้ดเมื่อตรงตามเงื่อนไขที่กำหนดและการควบคุมจะถูกส่งกลับไปยังคำสั่งวนซ้ำสำหรับการวนซ้ำครั้งต่อไป

เพื่อเข้าถึงความช่วยเหลือ

$ help continue
วิธีใช้คำสั่งแบ่งและดำเนินการต่อในเชลล์สคริปต์

ลองดูตัวอย่างด้านล่าง นี่เป็นตัวอย่างเดียวกับที่เราใช้ในการสาธิตคำสั่งพัก ตอนนี้เมื่อ วาล ได้รับการประเมินเป็นเก้าแล้ว ดำเนินการต่อ คำสั่งจะข้ามกลุ่มโค้ดที่เหลือทั้งหมดและส่งการควบคุมไปยัง for loop สำหรับการวนซ้ำครั้งต่อไป

#!/usr/bin/bash

for val in {1..20..2}
do
  If [[ $val -eq 9 ]]
  then
      continue
  fi
  echo "printing ${val}"
done
วิธีใช้คำสั่งแบ่งและดำเนินการต่อในเชลล์สคริปต์

หากคุณรู้จัก python แล้ว แตก และ ต่อ พฤติกรรมก็เหมือนกันในไพ ธ อนเช่นกัน แต่ python มีคำสั่งควบคุมลูปอีกหนึ่งคำสั่งที่เรียกว่า ผ่าน .

ผ่าน ก็เหมือน ว่าง คำสั่งและล่ามจะอ่านแต่จะไม่ดำเนินการใดๆ มันส่งผลให้ไม่มีการดำเนินการ Bash ไม่ได้ให้ข้อความที่คล้ายกัน แต่เราสามารถเลียนแบบพฤติกรรมนี้ได้โดยใช้คำหลักจริงหรือ เครื่องหมายโคลอน(:) . ทั้ง true และ colon เป็น shell ในตัวและไม่ดำเนินการใดๆ

$ type -a : true
วิธีใช้คำสั่งแบ่งและดำเนินการต่อในเชลล์สคริปต์

ลองดูตัวอย่างด้านล่าง เมื่อ เงื่อนไข คำสั่งถูกประเมินว่า จริง($val =9) แล้ว จริง คำสั่งจะไม่ทำอะไรเลยและวนซ้ำจะดำเนินต่อไป

#!/usr/bin/bash

for val in {1..20..2}
do
  If [[ $val -eq 9 ]]
  then
      true
  fi
  echo "printing ${val}"
done
วิธีใช้คำสั่งแบ่งและดำเนินการต่อในเชลล์สคริปต์

เพียงเท่านี้สำหรับบทความนี้ เรายินดีรับฟังความคิดเห็นอันมีค่าของคุณและคำแนะนำต่างๆ ที่คุณมี