Bash ถ้าตัวแปรว่างเปล่า Do Actions

Bash If Variable Is Empty Do Actions



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

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







ก่อนที่เราจะเริ่มต้น มันจะมีประโยชน์หากคุณคุ้นเคยกับการเขียนสคริปต์ทุบตีพื้นฐาน



Bash Basic – ตัวแปร101

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



ในการสร้างตัวแปรอย่างง่ายใน Bash เราใช้ชื่อของตัวแปร





ตัวอย่างเช่น:

#!/bin/bash

$i_am

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



#!/bin/bash

ฉัน= อูบุนตู

เมื่อได้รับการประกาศและมอบหมายแล้ว คุณสามารถเรียกมันได้โดยเพียงแค่อ้างอิงชื่อเป็น:

#!/bin/bash

โยนออก $i_am

การดำเนินการนี้จะคืนค่าที่เก็บไว้ในตัวแปรดังที่แสดงในภาพหน้าจอด้านล่าง

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

นี่คือตัวอย่าง:

ตอนนี้เรามีพื้นฐานของตัวแปรใน Bash แล้ว เราสามารถดำเนินการตามเงื่อนไขและตรวจสอบตัวแปรว่างได้

สำหรับคำแนะนำโดยละเอียดเกี่ยวกับวิธีสร้างตัวแปร bash ให้พิจารณาทรัพยากรด้านล่าง:

https://linuxhint.com/variables_bash/

พื้นฐานการทุบตี – ถ้าคำสั่ง

หากคำสั่งเป็นบล็อกการเขียนโปรแกรมพื้นฐานอื่นและ Bash จะเป็นคนพิการหากไม่มีพวกเขา ช่วยให้เราสามารถดำเนินการได้หากเงื่อนไขเป็นจริงหรือเท็จ

ให้เรามาสรุปสั้นๆ เกี่ยวกับวิธีใช้ Bash if, if…else และ if…elif…else

ถ้า NS tatement

ไวยากรณ์ทั่วไปสำหรับการใช้คำสั่ง if ใน Bash ดังที่แสดงด้านล่าง:

#!/bin/bash

ถ้า {สภาพ}

แล้ว

ทำ

เป็น

เราเริ่มต้นคำสั่ง if โดยเรียกคีย์เวิร์ด if จากนั้นให้เรากำหนดเงื่อนไขที่จะตรวจสอบ เงื่อนไขอาจเป็นนิพจน์ธรรมดาหรือนิพจน์ที่ซับซ้อนก็ได้ ตราบใดที่ประเมินว่าเป็นจริงหรือเท็จ

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

สุดท้าย เราปิดคำสั่ง if โดยใช้คีย์เวิร์ด fi

ถ้า…ข้อความอื่น

คำสั่ง bash if...else ระบุการดำเนินการพิเศษหากเงื่อนไขประเมินเป็นเท็จ ไวยากรณ์ทั่วไปคือ:

#!/bin/bash

ถ้า {สภาพ}

แล้ว

ทำ

อื่น

ทำ

เป็น

ตัวอย่างการใช้งาน

ให้ฉันใช้ตัวอย่างง่ายๆเพื่อแสดงการใช้คำสั่ง if

คำสั่ง if มีดังต่อไปนี้

#!/bin/bash
หนึ่ง=1
ถ้า [[ $num -gt5 ]]
แล้ว
โยนออก '$numมากกว่า 5'
อื่น
โยนออก '$numน้อยกว่า 5'
เป็น

ผลลัพธ์เป็นดังแสดงด้านล่าง:

เนื่องจากตอนนี้เรามีข้อมูลพื้นฐานเกี่ยวกับคำสั่ง if แล้ว ให้เราดำเนินการในบทช่วยสอนนี้

ตรวจสอบว่าข้อความในรายละเอียดด้านล่าง:

https://linuxhint.com/bash_conditional_statement/

วิธีตรวจสอบว่าตัวแปรว่างหรือไม่

วิธีที่นิยมและง่ายในการตรวจสอบว่าตัวแปรว่างหรือไม่คือการใช้ตัวเลือก -z ในคำสั่งเงื่อนไข

-z $var คืนค่า true หากตัวแปรว่างเปล่าและเป็นเท็จหากไม่ใช่

ไวยากรณ์ทั่วไปสำหรับการทดสอบดังกล่าวคือ:

#!/bin/bash
ถ้า [[ -กับ $ var ]]
แล้ว
ทำ
อื่น
ทำ
เป็น

สคริปต์ตัวอย่าง

ให้เราแสดงสคริปต์อย่างง่ายที่เลียนแบบคำสั่ง cd และนำทางไปยังไดเร็กทอรีที่ระบุ

พิจารณาสคริปต์ด้านล่าง:

#!/bin/bash
โยนออก 'ป้อนเส้นทางเพื่อนำทางไปยัง: '

อ่าน_เส้นทาง

ในขณะที่ [[ -กับ $_path ]];ทำ
โยนออก 'กรุณาระบุเส้นทาง'
เสร็จแล้ว
โยนออก 'กำลังนำทางไปยัง$_path'
ซีดี $_path

เมื่อเราดำเนินการสืบค้นข้อมูลข้างต้นแล้ว เราจะได้ผลลัพธ์ดังที่แสดงด้านล่าง

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

เมื่อเส้นทางพร้อมใช้งาน มันจะนำทางไปยังไดเร็กทอรีที่กำหนดและพิมพ์สถานะ

บทสรุป

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

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

ขอบคุณและขอให้มีความสุขกับการเขียนสคริปต์!!