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

4 Bash If Statement Examples ( if then fi, if then else fi, If elif else fi, Nested if )

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

ใน Bash เรามีคำสั่งแบบมีเงื่อนไขดังต่อไปนี้:

  1. if..then..fi คำสั่ง (ถ้าง่าย)
  2. if..then..else..fi คำสั่ง (If-Else)
  3. if..elif..else..fi คำสั่ง (Else If ladder)
  4. if..then..else..if..then..fi..fi..(ซ้อนถ้า)

สิ่งเหล่านี้คล้ายกับ awk หากเรากล่าวถึงก่อนหน้านี้

1. ทุบตี If..then..fi คำสั่ง

if [ conditional expression ]
then
	statement1
	statement2
	.
fi

คำสั่ง if นี้เรียกอีกอย่างว่าคำสั่ง if แบบง่าย หากนิพจน์เงื่อนไขที่กำหนดเป็นจริง ให้ป้อนและดำเนินการคำสั่งที่อยู่ระหว่างคำหลัก "then" และ "fi" หากนิพจน์ที่กำหนดคืนค่าศูนย์ รายการคำสั่งที่ตามมาจะถูกดำเนินการ

ถ้าเป็นเช่นนั้น fi ตัวอย่าง:

#!/bin/bash
count=100
if [ $count -eq 100 ]
then
  echo "Count is 100"
fi

2. ทุบตี If..then..else..fi คำสั่ง

If [ conditional expression ]
then
	statement1
	statement2
	.
else
	statement3
	statement4
	.
fi

หากนิพจน์เงื่อนไขเป็นจริง จะดำเนินการคำสั่ง 1 และ 2 หากนิพจน์เงื่อนไขส่งกลับค่าศูนย์ นิพจน์เงื่อนไขจะข้ามไปยังส่วนอื่น และดำเนินการคำสั่ง 3 และ 4 หลังจากดำเนินการส่วน if/else แล้ว การดำเนินการจะดำเนินต่อด้วยคำสั่งที่ตามมา

ถ้าอย่างนั้น fi ตัวอย่าง:

#!/bin/bash
count=99
if [ $count -eq 100 ]
then
  echo "Count is 100"
else
  echo "Count is not 100"
fi

หมายเหตุ: บทความนี้เป็นส่วนหนึ่งของชุดการสอน Bash ที่กำลังดำเนินอยู่

3. ทุบตี If..elif..else..fi

If [ conditional expression1 ]
then
	statement1
	statement2
	.
elif [ conditional expression2 ]
then
	statement3
	statement4
	.
.
.
else
	statement5
fi

คุณสามารถใช้สิ่งนี้ if .. elif.. if หากคุณต้องการเลือกหนึ่งในหลาย ๆ บล็อกของรหัสเพื่อดำเนินการ มันตรวจสอบนิพจน์ 1 ถ้าเป็นจริงรันคำสั่ง 1,2 หาก expression1 เป็นเท็จ จะตรวจสอบ expression2 และหาก expression ทั้งหมดเป็นเท็จ ก็จะเข้าสู่บล็อก else และดำเนินการคำสั่งในบล็อก else

ถ้าแล้ว elif อย่างอื่น fi ตัวอย่าง:

#!/bin/bash
count=99
if [ $count -eq 100 ]
then
  echo "Count is 100"
elif [ $count -gt 100 ]
then
  echo "Count is greater than 100"
else
  echo "Count is less than 100"
fi

4. ทุบตี If..then..else..if..then..fi..fi..

If [ conditional expression1 ]
then
	statement1
	statement2
	.
else
	if [ conditional expression2 ]
	then
		statement3
		.
	fi
fi

หากคำสั่งและคำสั่งอื่นสามารถซ้อนกันในทุบตี คีย์เวิร์ด “fi” หมายถึงจุดสิ้นสุดของคำสั่ง if ภายใน และ if คำสั่งทั้งหมดควรลงท้ายด้วยคีย์เวิร์ด “fi”

ตัวอย่าง “if then elif then else fi” ที่กล่าวถึงข้างต้นสามารถแปลงเป็นแบบซ้อนได้หากแสดงด้านล่าง

#!/bin/bash
count=99
if [ $count -eq 100 ]
then
  echo "Count is 100"
else
  if [ $count -gt 100 ]
  then
    echo "Count is greater than 100"
  else
  echo "Count is less than 100"
  fi
fi

ในบทความถัดไป เราจะพูดถึงวิธีใช้นิพจน์เงื่อนไขของ Bash พร้อมตัวอย่างที่ใช้งานได้จริง

แนะนำให้อ่าน

4 Bash If Statement Examples ( if then fi, if then else fi, If elif else fi, Nested if ) Bash 101 Hacks โดย Ramesh Natarajan . ฉันใช้เวลาส่วนใหญ่กับสภาพแวดล้อม Linux โดยธรรมชาติแล้วฉันเป็นแฟนตัวยงของ Bash command line และ shell scripting 15 ปีที่แล้ว ตอนที่ฉันทำงานกับ *nix รสชาติต่างๆ ฉันเคยเขียนโค้ดจำนวนมากบน C shell และ Korn shell หลายปีต่อมา เมื่อฉันเริ่มทำงานบน Linux ในฐานะผู้ดูแลระบบ ฉันแทบทำทุกอย่างที่เป็นไปได้โดยอัตโนมัติโดยใช้ Bash shell scripting จากประสบการณ์ Bash ของฉัน ฉันได้เขียน Bash 101 Hacks eBook ที่มีตัวอย่างที่ใช้งานได้จริง 101 ตัวอย่างทั้งบรรทัดคำสั่ง Bash และเชลล์สคริปต์ หากคุณกำลังคิดเกี่ยวกับการควบคุม Bash ให้เชี่ยวชาญ ลองอ่านหนังสือเล่มนี้ดู ซึ่งจะช่วยให้คุณควบคุมบรรทัดคำสั่งและเชลล์สคริปต์ของ Bash ได้