ฉันจะเพิ่มตัวแปรใน Bash ได้อย่างไร

How Do I Increment Variable Bash



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

ตัวอย่างการเพิ่มตัวแปรใน Bash ใน Linux Mint 20:

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







ตัวอย่าง #1: หลังการเพิ่มตัวแปร:

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





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





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

$ทุบตีIncrementVariable.sh



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

ตัวอย่าง #2: การเพิ่มค่าตัวแปรล่วงหน้า:

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

ในสคริปต์นี้ แทนที่จะใช้การเพิ่มขึ้นภายหลัง เราเพียงแค่ใช้การเพิ่มขึ้นล่วงหน้า ส่วนที่เหลือของสคริปต์ใกล้เคียงกับตัวอย่างที่ 1 อย่างใกล้ชิด

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

ตัวอย่าง #3: หลังการเพิ่มตัวแปรภายใน for loop:

เมื่อคุณเข้าใจแนวคิดของการเพิ่มก่อนและหลังการเพิ่มอย่างชัดเจนแล้ว เราสามารถใช้แนวคิดนี้ภายใน for loop สคริปต์ตัวอย่างแสดงในภาพด้านล่าง:

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

ผลลัพธ์ของสคริปต์นี้จะแสดงในรูปต่อไปนี้:

ตัวอย่าง #4: การเพิ่มค่าตัวแปรล่วงหน้าภายใน for loop:

สำหรับการเพิ่มค่าตัวแปรล่วงหน้าภายใน for loop สคริปต์ตัวอย่างจะแสดงในรูปด้านล่าง:

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

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

ตัวอย่าง #5: การเพิ่มตัวแปรโดยใช้ while Loop ด้วยเครื่องหมาย +=:

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

ในสคริปต์นี้ เราได้ประกาศตัวแปร i และกำหนดค่าเป็น 0 จากนั้นเรามี while loop ที่คอยวนซ้ำบนตัวแปรนี้จนกว่าค่าของตัวแปรจะน้อยกว่า 5 ภายในลูปนี้ เรากำลังพิมพ์ค่าของตัวแปรนี้และจากนั้น การเพิ่มมูลค่าโดยใช้เครื่องหมาย +=

ผลลัพธ์ของสคริปต์นี้จะแสดงในรูปต่อไปนี้:

ตัวอย่าง #6: การเพิ่มตัวแปรโดยใช้ while Loop ด้วย +1 Notation:

สัญกรณ์ +1 เป็นอีกวิธีหนึ่งในการเพิ่มค่าของตัวแปรขึ้น 1 สคริปต์ตัวอย่างที่แสดงสิ่งนี้แสดงในรูปภาพด้านล่าง:

สคริปต์นี้เหมือนกับที่เราทำในตัวอย่าง #5 การแทนที่เครื่องหมาย += ด้วยเครื่องหมาย +1 เป็นความแตกต่างเพียงอย่างเดียวระหว่างสองสคริปต์

ผลลัพธ์ของสคริปต์นี้จะแสดงในรูปต่อไปนี้:

บทสรุป:

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