Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม Bash

Bash If-Else Syntax:การตัดสินใจของ Linux Shell ระดับปรมาจารย์

Bash If-Else Syntax:การตัดสินใจของ Linux Shell ระดับปรมาจารย์

เมื่อเขียนโค้ด คุณอาจต้องตัดสินใจตามเงื่อนไขบางประการ เงื่อนไขคือนิพจน์ที่ประเมินเป็นนิพจน์บูลีน (08 หรือ 15 ).

คำสั่งที่ช่วยในการดำเนินการสาขาโค้ดที่แตกต่างกันตามเงื่อนไขบางประการเรียกว่าคำสั่งแบบมีเงื่อนไข

21 เป็นหนึ่งในคำสั่งเงื่อนไขที่ใช้บ่อยที่สุด เช่นเดียวกับภาษาการเขียนโปรแกรมอื่นๆ Bash Scripting ยังรองรับ 35 อีกด้วย งบ และเราจะศึกษารายละเอียดนั้นในบล็อกโพสต์นี้

ไวยากรณ์ของ 47 แถลงการณ์

คุณสามารถใช้ 50 แถลงการณ์ในรูปแบบต่างๆ โครงสร้างทั่วไปของ 67 คำสั่งมีดังนี้:

  • การใช้ 70 คำสั่งเท่านั้น:87
  • การใช้และ 98 ด้วย 103 คำสั่ง:111 งบ
  • การใช้ 120 หลายรายการ คำสั่งที่มี 139 :143

##

วิธีใช้ 152 คำชี้แจง

เมื่อคุณใช้ 166 เดียว คำสั่งไวยากรณ์จะเป็นดังนี้:

if [ condition ]
then
 statement
fi

โปรดทราบว่าช่องว่างเป็นส่วนหนึ่งของไวยากรณ์และไม่ควรลบออก

มาดูตัวอย่างที่เรากำลังเปรียบเทียบตัวเลขสองตัวเพื่อดูว่าตัวเลขแรกนั้นเล็กกว่าหรือไม่

#! /bin/sh
a=5
b=30
if [ $a -lt $b ]
then
 echo "a is less than b"
fi

หากคุณเรียกใช้ตัวอย่างด้านบน เงื่อนไข 171 ประเมินเป็น 185 และคำสั่งภายในคำสั่ง if รัน

เอาต์พุต:

a is less than b

วิธีใช้ 196 คำชี้แจง

เมื่อคุณใช้ 206 และคุณต้องการเพิ่มเงื่อนไขอื่น รูปแบบจะเป็นดังนี้:

if [ condition ]
then
 statement
else
 do this by default
fi

เรามาดูตัวอย่างที่เราต้องการค้นหาว่าตัวเลขแรกมากกว่าหรือน้อยกว่าตัวเลขที่สอง ที่นี่ 218 ประเมินเป็นเท็จ ซึ่งทำให้ 229 ส่วนหนึ่งของโค้ดที่จะรัน

#! /bin/sh
a=99
b=45
if [ $a -lt $b ]
then
 echo "a is less than b"
else
 echo "a is greater than b"
fi

เอาต์พุต:

a is greater than b

วิธีใช้ 231 แถลงการณ์

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

if [ condition ]
then
 statement
elif [ condition ] 
then
 statement 
else
 do this by default
fi

เพื่อสร้างการเปรียบเทียบที่มีความหมาย เราสามารถใช้ AND 245 และหรือ 256 เช่นกัน

ในตัวอย่างนี้ เราจะกำหนดประเภทของสามเหลี่ยมโดยใช้เงื่อนไขเหล่านี้:

  • 268 :สามเหลี่ยมที่ทุกด้านมีความยาวต่างกัน
  • 279 :สามเหลี่ยมที่มีด้าน 2 ด้านเท่ากัน
  • 288 :สามเหลี่ยมที่ทุกด้านเท่ากัน
read a
read b
read c
if [ $a == $b -a $b == $c -a $a == $c ]
then
echo EQUILATERAL
elif [ $a == $b -o $b == $c -o $a == $c ]
then
echo ISOSCELES
else
echo SCALENE
fi

ในตัวอย่างข้างต้น สคริปต์จะขอให้ผู้ใช้ป้อนด้านทั้งสามของรูปสามเหลี่ยม ต่อไป มันจะเปรียบเทียบด้านข้างและตัดสินประเภทสามเหลี่ยม

3
4
5
SCALENE

บทสรุป

คุณสามารถแยกโค้ดของคุณตามเงื่อนไขเช่น 294 ได้อย่างง่ายดาย และทำให้โค้ดมีความไดนามิกมากขึ้น ในบทช่วยสอนนี้ คุณได้เรียนรู้ไวยากรณ์ของ 307 พร้อมด้วยตัวอย่างบางส่วน

ฉันหวังว่าคุณจะพบว่าบทช่วยสอนนี้มีประโยชน์

คุณชอบอะไรที่คุณได้เรียนรู้จากบทช่วยสอนนี้ แจ้งให้เราทราบบน Twitter!

คุณสามารถอ่านโพสต์อื่น ๆ ของฉันได้ที่นี่

เรียนรู้การเขียนโค้ดฟรี หลักสูตรโอเพ่นซอร์สของ freeCodeCamp ช่วยให้ผู้คนมากกว่า 40,000 คนได้งานในตำแหน่งนักพัฒนา เริ่มต้น