วิธีจัดการและควบคุมข้อมูลด้วย Bash Array

Withi Cadkar Laea Khwbkhum Khxmul Dwy Bash Array



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

รายการเนื้อหา:

  1. กำหนดอาร์เรย์ตามดัชนี
  2. กำหนดอาร์เรย์ด้วยค่าหลายค่า
  3. กำหนดอาร์เรย์เชื่อมโยง
  4. นับค่าอาร์เรย์
  5. อ่านค่าอาร์เรย์โดยการวนซ้ำ
  6. อ่านค่าเฉพาะของอาร์เรย์
  7. ใส่ค่าอาร์เรย์
  8. อ่านเนื้อหาไฟล์ลงในอาร์เรย์
  9. รวมค่าอาร์เรย์
  10. แก้ไขค่าอาร์เรย์
  11. ลบค่าอาร์เรย์
  12. ค้นหาและแทนที่ค่าอาร์เรย์
  13. ใช้อาร์เรย์เป็นอาร์กิวเมนต์ของฟังก์ชัน
  14. ส่งกลับอาร์เรย์จากฟังก์ชัน
  15. ทำให้อาร์เรย์ว่างเปล่า

กำหนดอาร์เรย์ตามดัชนี

วิธีการประกาศอาร์เรย์โดยการกล่าวถึงดัชนีตัวเลขตามลำดับหรือไม่ต่อเนื่องกันจะแสดงอยู่ในสคริปต์ต่อไปนี้ อาร์เรย์ประเภทนี้เรียกว่าอาร์เรย์ตัวเลข ที่นี่ อาร์เรย์ “$books” ถูกสร้างขึ้นโดยการกำหนดดัชนีลำดับสามดัชนี และอาร์เรย์ “$products” ถูกสร้างขึ้นโดยการกำหนดดัชนีที่ไม่ต่อเนื่องสี่ดัชนี ค่าทั้งหมดของอาร์เรย์ทั้งสองจะถูกพิมพ์โดยใช้ฟังก์ชัน “printf”







#!/bin/bash

#กำหนดดัชนีอาร์เรย์ตามลำดับ

หนังสือ [ 0 ] = 'การเรียนรู้การทุบตีเชลล์'

หนังสือ [ 1 ] = 'ปฏิบัติการรักษาความปลอดภัยทางไซเบอร์ด้วยการทุบตี'

หนังสือ [ 2 ] = 'เคล็ดลับ Bash Command Line Pro'

เสียงสะท้อน 'ค่าทั้งหมดของอาร์เรย์แรก:'

พิมพ์ฉ '%s\n' ' ${หนังสือ[@]} '

#Define ดัชนีอาร์เรย์ตามลำดับที่ไม่เรียงลำดับ

สินค้า [ 10 ] = 'ปากกา'

สินค้า [ 5 ] = 'ดินสอ'

สินค้า [ 9 ] = 'กฎ'

สินค้า [ 4 ] = 'กระดาษขนาด A4'

เสียงสะท้อน

เสียงสะท้อน 'ค่าทั้งหมดของอาร์เรย์ที่สอง:'

พิมพ์ฉ '%s\n' ' ${ผลิตภัณฑ์[@]} '

เอาท์พุต : :



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



  หน้า 1





ไปที่ด้านบน

กำหนดอาร์เรย์ด้วยค่าหลายค่า

อาร์เรย์ตัวเลขที่มีหลายค่าสามารถประกาศได้โดยใช้คำสั่ง “declare” พร้อมด้วยตัวเลือก -a หรือไม่ต้องใช้คำสั่ง “declare” ในสคริปต์ต่อไปนี้ อาร์เรย์แรกจะถูกประกาศโดยใช้คำสั่ง “ประกาศ” และอาร์เรย์ที่สองจะถูกสร้างขึ้นโดยไม่ใช้คำสั่ง “ประกาศ”



#!/bin/bash

#ประกาศอาร์เรย์ตัวเลขด้วยคีย์เวิร์ด 'ประกาศ'

ประกาศ -ก ชื่อ = ( 'ไมเคิล' 'เดวิด' 'อเล็กซานเดอร์' 'โทมัส' 'โรเบิร์ต' 'ริชาร์ด' )

#พิมพ์ค่าอาร์เรย์

เสียงสะท้อน 'ค่าทั้งหมดของอาร์เรย์แรก:'

พิมพ์ฉ '%s\n' ' ${ชื่อ[@]} '

#ประกาศอาร์เรย์ตัวเลขโดยไม่มีคีย์เวิร์ด 'ประกาศ'

หนังสือ = ( 'บทช่วยสอนการเขียนสคริปต์เชลล์' 'บิชทุบตีบอส!' 'เรียนรู้ทุบตีอย่างรวดเร็ว' )

#เพิ่มบรรทัดใหม่

เสียงสะท้อน

#พิมพ์ค่าอาร์เรย์

เสียงสะท้อน 'ค่าทั้งหมดของอาร์เรย์ที่สอง:'

พิมพ์ฉ '%s\n' ' ${หนังสือ[@]} '

เอาท์พุต : :

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ ค่าของอาร์เรย์ทั้งสองถูกพิมพ์ที่นี่:

  หน้า 2

ไปที่ด้านบน

กำหนดอาร์เรย์เชื่อมโยง

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

#!/bin/bash

#ประกาศตัวแปรอาเรย์แบบเชื่อมโยงโดยไม่มีค่า

ประกาศ -ก พนักงาน

#กำหนดค่าแยกต่างหากโดยการกำหนดดัชนี

พนักงาน [ 'รหัส' ] = '78564'

พนักงาน [ 'ชื่อ' ] = 'นักแสดงว่าง'

พนักงาน [ 'โพสต์' ] = 'ผู้บริหารสูงสุด'

พนักงาน [ 'เงินเดือน' ] = 300000

#Print สองค่าของอาร์เรย์

เสียงสะท้อน “รหัสพนักงาน: ${พนักงาน[id]} '

เสียงสะท้อน 'ชื่อพนักงาน: ${พนักงาน[ชื่อ]} '

#ประกาศอาร์เรย์ที่เชื่อมโยงกับค่า

ประกาศ -ก คอร์ส = ( [ รหัส ] = 'CSE-206' [ ชื่อ ] = 'การเขียนโปรแกรมเชิงวัตถุ' [ เครดิต_ชั่วโมง ] = 2.0 )

#เพิ่มบรรทัดใหม่

เสียงสะท้อน

#Print ค่าอาร์เรย์สองค่าของอาร์เรย์ที่สอง

เสียงสะท้อน “ชื่อหลักสูตร: ${หลักสูตร[ชื่อ]} '

เสียงสะท้อน 'ชั่วโมงเครดิต: ${หลักสูตร[credit_hour]} '

เอาท์พุต : :

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ ค่าเฉพาะของอาร์เรย์ที่เชื่อมโยงจะถูกพิมพ์ที่นี่โดยกล่าวถึงคีย์หรือค่าดัชนี:

  หน้า 3

ไปที่ด้านบน

นับค่าอาร์เรย์

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

#!/bin/bash

#ประกาศอาร์เรย์ตัวเลข

ประกาศ -ก ชื่อ = ( 'ไมเคิล' 'เดวิด' 'อเล็กซานเดอร์' 'โทมัส' 'โรเบิร์ต' 'ริชาร์ด' ) ;

เสียงสะท้อน “ความยาวของอาร์เรย์ตัวเลขคือ ${#ชื่อ[@]} '

#ประกาศอาร์เรย์ที่เชื่อมโยง

ประกาศ -ก คอร์ส = ( [ รหัส ] = 'CSE-206' [ ชื่อ ] = 'การเขียนโปรแกรมเชิงวัตถุ' [ เครดิต_ชั่วโมง ] = 2.0 )

เสียงสะท้อน “ความยาวของอาเรย์เชื่อมโยงคือ ${#หลักสูตร[@]} '

เอาท์พุต : :

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ ความยาวอาร์เรย์ของอาร์เรย์ตัวเลขและอาร์เรย์ที่เชื่อมโยงจะถูกพิมพ์ที่นี่:

  หน้า 4

ไปที่ด้านบน

อ่านค่าอาร์เรย์โดยการวนซ้ำ

วิธีการอ่านค่าทั้งหมดของอาร์เรย์ตัวเลขและอาร์เรย์ที่เชื่อมโยงโดยใช้ลูป 'for' จะแสดงอยู่ในสคริปต์ต่อไปนี้:

#!/bin/bash

#ประกาศอาร์เรย์ตัวเลข

ประกาศ -ก หนังสือ = ( 'บทช่วยสอนการเขียนสคริปต์เชลล์' “บิช บาส บอส!” 'เรียนรู้ทุบตีอย่างรวดเร็ว' )

#พิมพ์ค่าอาร์เรย์ตัวเลข

เสียงสะท้อน 'ค่าอาร์เรย์ตัวเลขคือ:'

สำหรับ ใน ใน ' ${หนังสือ[@]} '

ทำ

เสียงสะท้อน ' $ใน '

เสร็จแล้ว

เสียงสะท้อน

#ประกาศอาร์เรย์ที่เชื่อมโยงกับค่า

ประกาศ -ก ลูกค้า = (

[ รหัส ] = 'H-5623'

[ ชื่อ ] = 'นาย. อาห์นาฟ

[ ที่อยู่ ] = '6/A, ธานมอนดี, ธากา'

[ โทรศัพท์ ] = '+8801975642312' )

#พิมพ์ค่าอาร์เรย์ที่เชื่อมโยง

เสียงสะท้อน 'ค่าอาร์เรย์ที่เชื่อมโยงคือ:'

สำหรับ เค ใน ' ${!ลูกค้า[@]} '

ทำ

เสียงสะท้อน ' $เค => ${ลูกค้า[$k]} '

เสร็จแล้ว

เอาท์พุต : :

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

  หน้า 5

ไปที่ด้านบน

อ่านช่วงค่าเฉพาะของอาร์เรย์

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

#!/bin/bash

#ประกาศอาร์เรย์ตัวเลข

ประกาศ -ก เค้ก = ( 'เค้กช็อคโกแลต' 'เค้กวานิลลา' 'เค้กกำมะหยี่สีแดง' 'เค้กสตรอเบอร์รี่' )

#พิมพ์ค่าอาร์เรย์เฉพาะ

เสียงสะท้อน 'องค์ประกอบที่ 2 และ 3 ของค่าอาร์เรย์คือ:'

พิมพ์ฉ '%s\n' ' ${เค้ก[@]:1:2} '

เอาท์พุต : :

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

  หน้า 6

ไปที่ด้านบน

แทรกค่าอาร์เรย์

วิธีการเพิ่มค่าหลายค่าที่ส่วนท้ายของอาร์เรย์จะแสดงอยู่ในสคริปต์ต่อไปนี้ อาร์เรย์หลักซึ่งก็คือ “$books” ประกอบด้วย 3 องค์ประกอบและมีการเพิ่ม 2 องค์ประกอบไว้ที่ส่วนท้ายของอาร์เรย์ “$books”

#!/bin/bash

#ประกาศอาร์เรย์ตัวเลข

ประกาศ -ก หนังสือ = ( 'บทช่วยสอนการเขียนสคริปต์เชลล์' “บิช บาส บอส!” 'เรียนรู้ทุบตีอย่างรวดเร็ว' )

#พิมพ์ค่าอาร์เรย์ก่อนใส่

เสียงสะท้อน 'ค่าอาร์เรย์:'

พิมพ์ฉ '%s\n' ' ${หนังสือ[@]} '

เสียงสะท้อน

หนังสือ = ( ' ${หนังสือ[@]} ' 'บรรทัดคำสั่ง Linux และเชลล์สคริปต์สคริปต์' 'คู่มือการเขียนสคริปต์ Bash ขั้นสูงโดย Mendel Cooper' )

#พิมพ์ค่าอาร์เรย์หลังจากแทรก

เสียงสะท้อน 'ค่าอาร์เรย์หลังจากแทรกสองค่า:'

พิมพ์ฉ '%s\n' ' ${หนังสือ[@]} '

เอาท์พุต : :

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ ค่าอาร์เรย์ก่อนและหลังการแทรกค่าใหม่จะถูกพิมพ์ลงในเอาต์พุต:

  หน้า 7

ไปที่ด้านบน

อ่านเนื้อหาไฟล์ลงในอาร์เรย์

สร้างไฟล์ข้อความชื่อ 'fruits.txt' โดยมีเนื้อหาต่อไปนี้เพื่อทดสอบสคริปต์ของตัวอย่างนี้:

ผลไม้.txt

มะม่วง

ขนุน

สัปปะรด

ส้ม

กล้วย

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

#!/bin/bash

#อ่านชื่อไฟล์จากผู้ใช้

อ่าน -พี 'ป้อนชื่อไฟล์:' ชื่อไฟล์

ถ้า [ -ฉ $ชื่อไฟล์ ]

แล้ว

#อ่านเนื้อหาไฟล์เป็นอาร์เรย์'

ข้อมูล = ( ` แมว ' $ชื่อไฟล์ ' ` )

เสียงสะท้อน 'เนื้อหาของไฟล์ได้รับด้านล่าง:'

#อ่านไฟล์ทีละบรรทัด

สำหรับ เส้น ใน ' ${ข้อมูล[@]} '

ทำ

เสียงสะท้อน เส้น $

เสร็จแล้ว

เป็น

เอาท์พุต : :

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ เอาต์พุตที่แสดงโดยคำสั่ง 'cat' และเอาต์พุตของสคริปต์จะคล้ายกันเนื่องจากคำสั่ง 'cat' และสคริปต์เข้าถึงไฟล์เดียวกัน:

  หน้า 8

ไปที่ด้านบน

รวมค่าอาร์เรย์

อาร์เรย์ใหม่จะถูกสร้างขึ้นโดยการรวมค่าของอาร์เรย์หลายตัวเข้าด้วยกัน ในสคริปต์ต่อไปนี้ มีการกำหนดอาร์เรย์ตัวเลขสองตัวของสตริง จากนั้นอาร์เรย์ใหม่จะถูกสร้างขึ้นโดยการรวมค่าของอาร์เรย์เหล่านี้

#!/bin/bash

#ประกาศอาร์เรย์แรก

ประกาศ -ก ชื่อList1 = ( 'ไมเคิล' 'เดวิด' 'อเล็กซานเดอร์' 'โทมัส' )

เสียงสะท้อน 'ค่าอาร์เรย์แรกคือ:'

พิมพ์ฉ '%s,' ${nameList1[@]}

เสียงสะท้อน

#ประกาศอาร์เรย์ที่สอง

ประกาศ -ก ชื่อList2 = ( 'โรเบิร์ต' 'ริชาร์ด' )

เสียงสะท้อน 'ค่าอาร์เรย์ที่สองคือ:'

พิมพ์ฉ '%s,' ${nameList2[@]}

เสียงสะท้อน

#สร้างอาร์เรย์ใหม่โดยรวมสองอาร์เรย์เข้าด้วยกัน

รวม_อาร์เรย์ = ( ' ${nameList1[@]} ' ' ${nameList2[@]} ' )

เสียงสะท้อน 'ค่าอาร์เรย์ที่รวมกันคือ:'

พิมพ์ฉ '%s,' ${combined_array[@]}

เสียงสะท้อน

เอาท์พุต : :

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

  หน้า 9

ไปที่ด้านบน

แก้ไขค่าอาร์เรย์

วิธีการอัพเดตค่าอาร์เรย์ตั้งแต่หนึ่งค่าขึ้นไปโดยการกล่าวถึงดัชนีจะแสดงอยู่ในสคริปต์ต่อไปนี้:

#!/bin/bash

#ประกาศอาร์เรย์แรก

ประกาศ -ก ชื่อรายการ = ( 'ไมเคิล' 'เดวิด' 'อเล็กซานเดอร์' 'โทมัส' )

เสียงสะท้อน 'ค่าอาร์เรย์:'

พิมพ์ฉ '%s,' ${nameList[@]}

เสียงสะท้อน

#Update ค่าที่ 2 ของอาเรย์

ชื่อรายการ [ 1 ] = 'โรเบิร์ต'

เสียงสะท้อน 'ค่าอาร์เรย์หลังการอัพเดต:'

พิมพ์ฉ '%s,' ${nameList[@]}

เสียงสะท้อน

เอาท์พุต : :

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ ค่าของอาร์เรย์หลักและอาร์เรย์ที่อัปเดตจะถูกพิมพ์ลงในเอาต์พุต:

  หน้า 10

ลบค่าอาร์เรย์

คำสั่ง 'unset' ใช้เพื่อลบองค์ประกอบเฉพาะหรือองค์ประกอบทั้งหมดของอาร์เรย์ ในสคริปต์ต่อไปนี้ องค์ประกอบที่สองของอาร์เรย์จะถูกลบออก

#!/bin/bash

#ประกาศอาร์เรย์ตัวเลข

ประกาศ -ก หนังสือ = ( 'บทช่วยสอนการเขียนสคริปต์เชลล์' “บิช บาส บอส!” 'เรียนรู้ทุบตีอย่างรวดเร็ว' )

#พิมพ์ค่าอาร์เรย์ก่อนที่จะลบ

เสียงสะท้อน 'ค่าอาร์เรย์:'

พิมพ์ฉ '%s\n' ' ${หนังสือ[@]} '

เสียงสะท้อน

#ลบองค์ประกอบที่2

ไม่ได้ตั้งค่า หนังสือ [ 1 ]

#พิมพ์ค่าอาร์เรย์หลังจากลบออก

เสียงสะท้อน 'ค่าอาร์เรย์หลังจากลบค่าที่ 2:'

พิมพ์ฉ '%s\n' ' ${หนังสือ[@]} '

เอาท์พุต : :

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ ค่าของอาร์เรย์หลักและค่าอาร์เรย์หลังจากลบค่าหนึ่งค่าจะถูกพิมพ์ลงในเอาต์พุต:

  หน้า 11

ไปที่ด้านบน

ค้นหาและแทนที่ค่าอาร์เรย์

ในสคริปต์ต่อไปนี้ ค่าเฉพาะของอาร์เรย์จะถูกแทนที่ด้วยค่าอื่น หากค่าการค้นหาที่กำหนดไว้ในรูปแบบตรงกับค่าใดๆ ของอาร์เรย์ “$names”

#!/bin/bash

#ประกาศอาร์เรย์แรก

ประกาศ -ก ชื่อ = ( 'ไมเคิล' 'เดวิด' 'อเล็กซานเดอร์' 'โทมัส' )

#พิมพ์ค่าอาร์เรย์ดั้งเดิม

เสียงสะท้อน 'ค่าอาร์เรย์ดั้งเดิม:'

พิมพ์ฉ '%s\n' ' ${ชื่อ[@]} '

#Generate สตริงหลังจากแทนที่ค่าอาร์เรย์

อัปเดต_อาร์เรย์ = ${names[@]/อเล็กซานเดอร์/ริชาร์ด}

#พิมพ์ค่าอาร์เรย์หลังจากแทนที่

เสียงสะท้อน 'ค่าอาร์เรย์หลังจากแทนที่:'

พิมพ์ฉ '%s\n' ' ${updated_array[@]} '

เอาท์พุต : :

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ ค่าของอาร์เรย์หลักและค่าอาร์เรย์หลังจากแทนที่ค่าจะถูกพิมพ์ลงในเอาต์พุต:

  หน้า 12

ไปที่ด้านบน

ใช้อาร์เรย์เป็นอาร์กิวเมนต์ของฟังก์ชัน

ในสคริปต์ต่อไปนี้ ตัวแปรอาร์เรย์จะถูกส่งผ่านเป็นอาร์กิวเมนต์ของฟังก์ชัน และค่าของอาร์เรย์นั้นจะถูกพิมพ์ในภายหลัง

#!/bin/bash

#ประกาศอาร์เรย์ของตัวเลข

ประกาศ -ก ตัวเลข = ( 10 6 สี่ห้า 13 8 )

#กำหนดฟังก์ชันที่จะรับค่าอาร์กิวเมนต์

ฟังก์ชั่น ( )

{

#อ่านข้อโต้แย้งแรก

ตัวเลข = $1

#พิมพ์ค่าอาร์เรย์

เสียงสะท้อน 'ค่าอาร์เรย์:'

พิมพ์ฉ '%d\n' ' ${หมายเลข[@]} '

}

#เรียกใช้ฟังก์ชันโดยให้อาร์เรย์เป็นอาร์กิวเมนต์

ฟังก์ชั่น ' ${หมายเลข[@]} '

เอาท์พุต : :

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์:

  หน้า 13

ไปที่ด้านบน

ส่งกลับอาร์เรย์จากฟังก์ชัน

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

#!/bin/bash

#กำหนดฟังก์ชันที่อ่านค่าอาร์กิวเมนต์สี่ค่า

ฟังก์ชั่น ( )

{

#อ่านค่าอาร์กิวเมนต์

ตัวเลข = ( $1 2 ดอลลาร์ $3 $4 )

#คืนอาร์เรย์

เสียงสะท้อน ' ${หมายเลข[@]} '

}

#เรียกใช้ฟังก์ชันด้วยอาร์กิวเมนต์สามตัว

return_val =$ ( ฟังก์ชั่น 78 สี่ห้า 90 23 )

#จัดเก็บค่าที่ส่งคืนในอาร์เรย์

อ่าน -ก หนึ่ง <<< $return_val

#พิมพ์ค่าของอาร์เรย์ที่ส่งคืน

เสียงสะท้อน 'ค่าของอาร์เรย์คือ:'

สำหรับ ใน ใน ' ${num[@]} '

ทำ

เสียงสะท้อน ' $ใน '

เสร็จแล้ว

เอาท์พุต : :

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์:

ไปที่ด้านบน

ทำให้อาร์เรย์ว่างเปล่า

สคริปต์ต่อไปนี้แสดงวิธีการทำให้อาร์เรย์ว่างเปล่าโดยใช้คำสั่ง 'unset' จำนวนค่าอาร์เรย์ทั้งหมดจะถูกพิมพ์ก่อนและหลังการทำให้อาร์เรย์ว่างเปล่า

#!/bin/bash

#ประกาศอาร์เรย์ของตัวเลข

ประกาศ -ก ตัวเลข = ( 10 6 สี่ห้า 13 80 )

เสียงสะท้อน 'จำนวนค่าอาร์เรย์: ${#หมายเลข[@]} '

#ทำให้อาร์เรย์ว่างเปล่า

ไม่ได้ตั้งค่า ตัวเลข

เสียงสะท้อน 'จำนวนค่าอาร์เรย์หลังจากทำให้อาร์เรย์ว่างเปล่า: ${#หมายเลข[@]} '

เอาท์พุต : :

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ จำนวนองค์ประกอบของอาร์เรย์กลายเป็น 0 หลังจากที่ทำให้อาร์เรย์ว่างเปล่า:

  หน้า 15

ไปที่ด้านบน

บทสรุป

วิธีการต่างๆ ในการประกาศ เข้าถึง แก้ไข และลบตัวแปรอาร์เรย์ในสคริปต์ Bash จะแสดงอยู่ในบทช่วยสอนนี้โดยใช้ตัวอย่างง่ายๆ 15 ตัวอย่าง เราหวังว่าบทช่วยสอนนี้จะช่วยให้ผู้ใช้ Bash ทราบรายละเอียดการใช้งานอาร์เรย์ Bash