วิธีใช้พจนานุกรมค่าคีย์ใน Bash

Withi Chi Phcnanukrm Kha Khiy Ni Bash



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

พจนานุกรมคีย์-ค่าคืออะไร

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







ประกาศ -ก < dict_name >



สิ่งนี้สร้างพจนานุกรมเปล่าชื่อ dict_name พร้อมแฟล็ก -A ระบุว่าเป็นอาร์เรย์ที่เชื่อมโยง เมื่อคุณสร้างพจนานุกรมแล้ว คุณสามารถเพิ่มคีย์และค่าลงในพจนานุกรมได้โดยใช้ไวยากรณ์ต่อไปนี้:



< dict_name > [ < สำคัญ > ] = < ค่า >





วิธีใช้พจนานุกรมคีย์-ค่าใน Bash

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

วิธีการดำเนินการทางคณิตศาสตร์โดยใช้พจนานุกรมคีย์-ค่า

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



#!/bin/bash
# กำหนดพจนานุกรมด้วยคู่คีย์-ค่า
ประกาศ -ก my_dict
my_dict [ 'ก' ] = 5
my_dict [ 'ข' ] = 10
my_dict [ 'ค' ] = สิบห้า

# เพิ่มสองค่าในพจนานุกรม
ผลรวม =$ ( ( my_dict [ 'ก' ] + my_dict [ 'ข' ] ) )
เสียงสะท้อน 'ผลรวมของ a และ b คือ: ผลรวม $ '

# ลบหนึ่งค่าจากอีกค่าหนึ่งในพจนานุกรม
ความแตกต่าง =$ ( ( my_dict [ 'ค' ] - my_dict [ 'ก' ] ) )
เสียงสะท้อน 'ความแตกต่างระหว่าง c และ a คือ: $ ความแตกต่าง '

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

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

วิธีสร้างฐานข้อมูลโดยใช้พจนานุกรมคีย์-ค่า

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

#!/bin/bash
ประกาศ -ก บริษัท = (
[ ชื่อ ] = 'แอคคอร์ปอเรชั่น'
[ ที่ตั้ง ] = 'นครนิวยอร์ก รัฐนิวยอร์ก'
[ อุตสาหกรรม ] = 'การผลิต'
[ ขนาด ] = 'ใหญ่'
[ ก่อตั้งขึ้น ] = 'พ.ศ. 2463'
)

#พิมพ์รายละเอียดทั้งหมด
พิมพ์ฉ 'รายละเอียดบริษัท: \n '
สำหรับ สำคัญ ใน ' ${!company[@]} ' ; ทำ
พิมพ์ฉ '%s: %s \n ' ' $key ' ' ${บริษัท[$key]} '
เสร็จแล้ว

# แก้ไขค่าของคีย์ 'ตำแหน่ง'
บริษัท [ 'ที่ตั้ง' ] = 'ลอสแองเจลิส แคลิฟอร์เนีย'

#พิมพ์รายละเอียดที่อัพเดท
พิมพ์ฉ ' \n อัปเดตรายละเอียดบริษัท: \n '
สำหรับ สำคัญ ใน ' ${!company[@]} ' ; ทำ
พิมพ์ฉ '%s: %s \n ' ' $key ' ' ${บริษัท[$key]} '
เสร็จแล้ว

สคริปต์ทุบตีนี้กำหนดพจนานุกรมชื่อบริษัทที่มีข้อมูลเกี่ยวกับบริษัท เช่น ชื่อ ที่ตั้ง อุตสาหกรรม ขนาด และปีที่ก่อตั้ง ฟังก์ชัน printf ใช้เพื่อแสดงรายละเอียดของบริษัทในรูปแบบที่อ่านได้ การวนรอบ for วนซ้ำบนคีย์ของพจนานุกรมของบริษัท และสำหรับแต่ละคีย์ ฟังก์ชัน printf จะถูกเรียกใช้พร้อมกับคีย์และค่าที่สอดคล้องกันเป็นอาร์กิวเมนต์ จากนั้นพจนานุกรมของบริษัทจะได้รับการอัปเดตโดยเปลี่ยนค่าของคีย์ตำแหน่งที่ตั้งเป็น “Los Angeles, CA” สุดท้าย รายละเอียดที่อัปเดตของบริษัทจะแสดงในรูปแบบเดียวกับก่อนที่จะใช้รูปแบบอื่นสำหรับลูปและฟังก์ชัน printf:

บทสรุป

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