Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

วิธีการเขียนคำสั่ง IF ใน Bash-Script

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

วิธีการเขียนคำสั่ง IF ใน Bash-Script

นี่คือตัวอย่างรูปแบบที่ง่ายที่สุดของ ถ้า คำสั่ง:

count=5
if [ $count == 5 ]
then
echo "$count"
fi

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

คำหลัก fi คือ ถ้า สะกดย้อนกลับ ภาษาสคริปต์ทุบตีใช้แบบแผนนี้เพื่อทำเครื่องหมายจุดสิ้นสุดของนิพจน์ที่ซับซ้อน เช่น ถ้า คำสั่งหรือ กรณี คำสั่ง

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

วิธีการเขียนคำสั่ง IF ใน Bash-Script

หากคุณมีสถานการณ์ที่ควรดำเนินการโค้ดบางส่วนก็ต่อเมื่อเงื่อนไขไม่เป็นความจริง ให้ใช้คำหลัก อื่น ใน ถ้า คำสั่งดังในตัวอย่างนี้:

count=5
if [ $count == 5 ]
then
echo "$count"
else
echo "count is not 5"
fi

หากเงื่อนไข $count ==5 เป็นจริง ระบบจะพิมพ์ค่าของตัวแปร นับ . มิฉะนั้นจะพิมพ์สตริงว่า นับไม่ใช่ 5 .

วิธีการเขียนคำสั่ง IF ใน Bash-Script

หากคุณต้องการแยกความแตกต่างระหว่างหลายเงื่อนไข ให้ใช้คำหลัก elif ซึ่งมาจาก else if ดังในตัวอย่างนี้:

if [ $count == 5 ]
then
echo "count is five"
elif [ $count == 6 ]
then
echo "count is six"
else
echo "none of the above"
fi

ถ้า นับ คือ 5 , ระบบพิมพ์ นับเป็นห้า . ถ้า นับ ไม่ใช่ 5 แต่ 6 , ระบบพิมพ์ นับเป็นหก . ถ้าไม่ใช่ 5 หรือ 6 , ระบบพิมพ์ ไม่มีข้อใดข้างต้น .

คุณสามารถมี เอลลิฟ . จำนวนเท่าใดก็ได้ ข้อ ตัวอย่างของ elif . หลายตัว เงื่อนไขคือ:

if [ $count == 5 ]
then
echo "count is five"
elif [ $count == 6 ]
then
echo "count is six"
elif [ $count == 7 ]
then
echo "count is seven"
elif [ $count == 8 ]
then
echo "count is eight"
elif [ $count == 9 ]
then
echo "count is nine"
else
echo "none of the above"
fi
วิธีการเขียนคำสั่ง IF ใน Bash-Script

วิธีที่กระชับยิ่งขึ้นในการเขียนข้อความดังกล่าวโดยมีเงื่อนไขหลายข้อคือวิธี case มันทำงานคล้ายกับ ถ้า คำสั่งที่มี elif . หลายรายการ ข้อ แต่กระชับกว่า ตัวอย่างเช่น โค้ดข้างต้นสามารถเขียนใหม่ด้วย ตัวพิมพ์ ข้อความดังต่อไปนี้:

case "$count" in
5)
echo "count is five"
;;
6)
echo "count is six"
;;
7)
echo "count is seven"
;;
8)
echo "count is eight"
;;
9)
echo "count is nine"
;;
*)
echo "none of the above"
esac
วิธีการเขียนคำสั่ง IF ใน Bash-Script

ถ้า ประโยคคำสั่งมักใช้ใน for-loop หรือ while-loop ดังตัวอย่างนี้:

count=1
done=0
while [ $count -le 9 ]
do
sleep 1
(( count++ ))
if [ $count == 5 ]
then
continue
fi
echo "$count"
done
echo Finished

You can also have nested if statements. The simplest nested if statement is of the form: if...then...else...if...then...fi...fi. However, an if statement can be nested with arbitrary complexity.

See also how to pass arguments to a bash script, which shows how to use conditionals to process parameters passed from the command line.

The bash shell provides other programming constructs, such as for-loops, while-loops, and arithmetic expressions.