วิธีคืนค่าสตริงจาก Bash Functions

How Return String From Bash Functions



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

ตัวอย่างที่ 1: การใช้ตัวแปรร่วม

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







การทำงานF1()
{
retval='ฉันชอบเขียนโปรแกรม'
}

retval='ฉันเกลียดการเขียนโปรแกรม'
โยนออก $retval
F1
โยนออก $retval

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





ตัวอย่างที่ 2: การใช้ฟังก์ชัน Command

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





การทำงานF2()
{
ท้องถิ่น retval='การใช้ฟังก์ชัน BASH'
โยนออก '$retval'
}

getval= $(F2)
โยนออก $getval

สร้างสคริปต์ทุบตีชื่อ func2.sh ด้วยรหัสด้านบนและเรียกใช้สคริปต์




ตัวอย่างที่ 3: การใช้ตัวแปร

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

การทำงานF3()
{
ท้องถิ่น arg1=$ 1

ถ้า [[ $arg1 !='' ]];
แล้ว
retval='ฟังก์ชัน BASH พร้อมตัวแปร'
อื่น
โยนออก 'ไม่มีข้อโต้แย้ง'
เป็น
}

getval1='ฟังก์ชั่นทุบตี'
F3$getval1
โยนออก $retval
getval2= $(F3)
โยนออก $getval2

สร้างสคริปต์ทุบตีชื่อ func3.sh ด้วยรหัสด้านบนและเรียกใช้สคริปต์

ตัวอย่างที่ 4: การใช้ Return Statement

ภาษาโปรแกรมมาตรฐานส่วนใหญ่ใช้คำสั่ง return เพื่อคืนค่าจากฟังก์ชัน ค่าฟังก์ชันจะถูกส่งกลับโดยไม่ต้องใช้คำสั่ง return ในตัวอย่างข้างต้น ในตัวอย่างต่อไปนี้ คำสั่ง return ใช้เพื่อคืนค่าตัวเลขจากฟังก์ชัน F4 . ที่นี่, $? ใช้เพื่ออ่านค่า 35 ซึ่งส่งคืนโดยฟังก์ชันโดยใช้ กลับ คำแถลง.

การทำงานF4() {
โยนออก 'คำชี้แจงการคืน Bash'
กลับ 35
}

F4
โยนออก 'ค่าส่งคืนของฟังก์ชันคือ $?'

สร้างสคริปต์ทุบตีชื่อ func4.sh ด้วยรหัสด้านบนและเรียกใช้สคริปต์

คุณสามารถใช้ฟังก์ชัน bash ได้หลายวิธีเพื่อคืนค่าสตริงหรือค่าตัวเลขหลังจากเรียกใช้ฟังก์ชัน ดูรายละเอียดเพิ่มเติมได้ที่ วีดีโอ !