วิธีใช้ตัวแปรในการเขียนโปรแกรม Bash

How Use Variables Bash Programming



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

การใช้ตัวแปรจากบรรทัดคำสั่งหรือเทอร์มินัล

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







ตัวอย่างที่ 1: การประกาศและอ่านข้อมูลสตริงโดยใช้ตัวแปร

เรียกใช้คำสั่งต่อไปนี้จากเทอร์มินัล



$myvar='การเขียนโปรแกรม BASH'
$โยนออก $myvar

เอาท์พุท:



การเขียนโปรแกรมทุบตีตัวแปร





ตัวอย่างที่ 2: การรวมตัวแปรสตริงสองตัว

คุณไม่จำเป็นต้องใช้โอเปอเรเตอร์ใดๆ เพื่อรวมสตริงตั้งแต่สองสตริงขึ้นไปเหมือนภาษาอื่นๆ ที่นี่ $ var1 ใช้สำหรับเก็บค่าสตริงและ $var2 ใช้สำหรับเก็บค่าตัวเลข รันคำสั่งต่อไปนี้จากเทอร์มินัลเพื่อรวมสองตัวแปร $ var1 และ $var2 .

$var1='ราคาของตั๋วนี้คือ $'
$var2=ห้าสิบ
$โยนออก $ var1$var2

เอาท์พุท:



**หมายเหตุ: คุณสามารถพิมพ์ค่าของตัวแปรโดยไม่ต้องใส่เครื่องหมายคำพูดใดๆ แต่ถ้าคุณใช้เครื่องหมายคำพูด คุณจะต้องใช้เครื่องหมายคำพูดคู่

ตัวอย่างที่ 3: การต่อสตริงกับตัวแปร

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

$ที่ไหน='ทุบตี'
$โยนออก '$ varการเขียนโปรแกรม'
$โยนออก '$ var การเขียนโปรแกรม'

เอาท์พุท:

ตัวอย่างที่ 4: การประกาศและอ่านข้อมูลตัวเลขโดยใช้ตัวแปร NS

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

$NS=100
$โยนออก $n
$โยนออก $n+ยี่สิบ
$((NS=n+ยี่สิบ))
$โยนออก $n

เอาท์พุท:

ตัวอย่างที่-5: การทำการคำนวณทางคณิตศาสตร์โดยใช้คำสั่ง bc

bc คำสั่งเป็นอีกวิธีหนึ่งในการดำเนินการทางคณิตศาสตร์ใน BASH เรียกใช้คำสั่งต่อไปนี้จากเทอร์มินัล เมื่อคุณใช้ bc คำสั่งเฉพาะสำหรับการดำเนินการทางคณิตศาสตร์ใด ๆ จากนั้นเศษส่วนจะถูกละเว้นจากผลลัพธ์ ต้องใช้ -NS ตัวเลือกด้วย bc คำสั่งเพื่อให้ได้ผลลัพธ์ด้วยค่าเศษส่วน

$NS=55
$โยนออก $n/10 | bc
$โยนออก $n/10 | bc -NS

เอาท์พุท:

การใช้ตัวแปรในไฟล์ทุบตี

คุณสามารถกำหนดตัวแปรในไฟล์ bash ได้ด้วยวิธีเดียวกับที่กล่าวไว้ในตัวอย่างข้างต้น คุณต้องสร้างไฟล์ด้วย .NS หรือ .ทุบตี ส่วนขยายเพื่อเรียกใช้สคริปต์ทุบตี

ตัวอย่างที่ 6: การสร้างสคริปต์ทุบตีอย่างง่าย

คัดลอกโค้ดต่อไปนี้ในโปรแกรมแก้ไขข้อความและบันทึกไฟล์ด้วยนามสกุล bash ในสคริปต์นี้ มีการประกาศตัวแปรหนึ่งสตริงและตัวแปรตัวเลขหนึ่งตัว

NS='เรียนรู้การเขียนโปรแกรม BASH'

#พิมพ์ค่าสตริง
โยนออก $ str

หนึ่ง=120

#ลบ 20 จากตัวแปรตัวเลข
(( ผลลัพธ์=$num-ยี่สิบ))

#พิมพ์ค่าตัวเลข
โยนออก $ผลลัพธ์

เอาท์พุท:

ตัวอย่างที่ 7: การใช้ตัวแปรโกลบอลและโลคัล

ในสคริปต์ต่อไปนี้ ตัวแปรโกลบอลหนึ่งตัว n และตัวแปรโลคัลสองตัว n และ m ถูกใช้
เมื่อเรียกใช้ฟังก์ชัน added() แล้ว ค่าของตัวแปรโลคัล n จะถูกนำไปคำนวณ แต่ตัวแปรโกลบอล n ยังคงไม่เปลี่ยนแปลง

#!/bin/bash
NS=5
การทำงานส่วนที่เพิ่มเข้าไป()
{
ท้องถิ่น NS=6
ท้องถิ่น NS=4
(( NS=n+m))
โยนออก $n

}
ส่วนที่เพิ่มเข้าไป
โยนออก $n

เอาท์พุท:

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

ตัวแปรอาร์เรย์ใช้เพื่อจัดเก็บรายการข้อมูล ตัวอย่างต่อไปนี้แสดงวิธีที่คุณใช้ตัวแปรอาร์เรย์ในสคริปต์ทุบตี องค์ประกอบของอาร์เรย์ใดๆ ถูกคั่นด้วยช่องว่างใน BASH ที่นี่ประกาศอาร์เรย์ 6 องค์ประกอบ ไม่มีฟังก์ชันหรือคุณสมบัติในตัวที่จะนับองค์ประกอบทั้งหมดของอาร์เรย์ # กับ * ใช้ในการนับองค์ประกอบทั้งหมด องค์ประกอบทั้งหมดระบุด้วย * For loop ใช้ที่นี่เพื่อวนซ้ำค่าอาร์เรย์ การอ่านค่าอาร์เรย์และค่าอาร์เรย์ด้วยคีย์จะแสดงในส่วนถัดไปของสคริปต์นี้

#!/bin/bash

myarr=(HTML JavaScript PHP jQuery AngularJS CodeIgniter)

#นับจำนวนอิลิเมนต์ทั้งหมดของอาร์เรย์
ทั้งหมด=${#myarr[*]}
โยนออก 'องค์ประกอบทั้งหมด:รวม $'

#Print แต่ละค่าองค์ประกอบของอาร์เรย์
โยนออก 'ค่าอาร์เรย์ :'
สำหรับชั่วโมงใน ${myarr[*]}
ทำ
printf ' %NSNS' $ ชั่วโมง
เสร็จแล้ว

#Print แต่ละค่าองค์ประกอบของอาร์เรย์ด้วยคีย์

โยนออก 'ค่าอาร์เรย์ด้วยคีย์:'
สำหรับกุญแจใน ${!myarr[*]}
ทำ
printf '%4d: %sNS' $key ${myarr[$key]}
เสร็จแล้ว

เอาท์พุท:

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