Bash วิธีดำเนินการคำสั่งในตัวแปร?

Bash How Execute Command Variable



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

หมายเหตุ: สถานการณ์ทั้งหมดที่แสดงด้านล่างได้ดำเนินการบน Ubuntu 20.04 แล้ว อย่างไรก็ตาม มันจะทำงานในลักษณะเดียวกันกับลินุกซ์รุ่นอื่นๆ ด้วยเช่นกัน







วิธีการดำเนินการคำสั่งในตัวแปรใน Bash:

สำหรับการสาธิตวิธีการดำเนินการคำสั่งในตัวแปรใน Bash เราจะนำเสนอสถานการณ์ที่แตกต่างกันสามแบบแก่คุณซึ่งมีดังนี้:



ดำเนินการคำสั่ง echo ที่เก็บไว้ในตัวแปร:

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



ขั้นตอนที่ # 1: การสร้างสคริปต์ทุบตี:

คุณต้องสร้าง Bash Script ในโฟลเดอร์ Home ซึ่งคุณต้องคลิกที่ไอคอน File Manager ดังที่คุณเห็นจากภาพต่อไปนี้:





ค้นหาพื้นที่ว่างในโฟลเดอร์โฮมแล้วคลิกขวาเพื่อเปิดเมนู เลือกตัวเลือก New Document จากเมนูนี้ จากนั้นเลือกตัวเลือก Empty Document จากเมนูย่อยแบบเรียงซ้อน การทำเช่นนี้จะสร้างเอกสารใหม่ในโฟลเดอร์โฮมของคุณ ตอนนี้เปลี่ยนชื่อเอกสารที่สร้างขึ้นใหม่ด้วยชื่อที่คุณเลือกตามด้วยนามสกุล .sh ในกรณีของเรา เราได้ตั้งชื่อว่า CommandVar.sh



สำหรับการเขียนสคริปต์ทุบตีในไฟล์นี้ ให้ดับเบิลคลิกเพื่อเปิดไฟล์ จากนั้นพิมพ์สคริปต์ที่แสดงในภาพด้านล่างในไฟล์ทุบตีของคุณ ในที่นี้ บรรทัดแรกของสคริปต์ เช่น #!/bin/bash แสดงว่าไฟล์นี้เป็นไฟล์ Bash จริงๆ จากนั้นเราได้สร้างตัวแปรชื่อ test และกำหนดค่า $(echo Hi there!) ให้กับมัน เมื่อใดก็ตามที่คุณต้องการเก็บคำสั่งในตัวแปร คุณต้องพิมพ์คำสั่งนั้นที่นำหน้าด้วยสัญลักษณ์ $ ในกรณีนี้ เราต้องการเก็บคำสั่ง echo ไว้ในตัวแปรทดสอบ ดังนั้นเราจึงพิมพ์คำสั่ง echo ตามด้วยข้อความสุ่มและใส่ไว้ในวงเล็บกลม และวางสัญลักษณ์ $ ไว้ข้างหน้า ดังนั้นตอนนี้ หากเราต้องการรันคำสั่ง echo เราจะต้องเข้าถึงตัวแปรทดสอบ ดังนั้น เพื่อตรวจสอบว่าคำสั่ง echo ที่เก็บไว้ในตัวแปรทดสอบสามารถดำเนินการได้สำเร็จหรือไม่ เราได้พิมพ์ผลลัพธ์ของตัวแปรทดสอบบนเทอร์มินัลโดยใช้คำสั่ง echo อื่น หลังจากพิมพ์สคริปต์นี้ คุณต้องบันทึกไฟล์และปิด

ขั้นตอนที่ # 2: การดำเนินการ Bash Script ผ่าน Terminal:

ตอนนี้คุณต้องรันสคริปต์นี้ผ่านเทอร์มินัล ดังนั้นให้เปิดเทอร์มินัลใน Ubuntu 20.04 แล้วพิมพ์คำสั่งต่อไปนี้:

ทุบตีCommandVar.sh

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

ดำเนินการคำสั่ง seq ที่เก็บไว้ในตัวแปร:

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

ขั้นตอนที่ # 1: การแก้ไข Bash Script ที่สร้างขึ้นด้านบน:

เปิดไฟล์ Bash ที่คุณสร้างขึ้นในวิธีการด้านบนแล้วพิมพ์สคริปต์ต่อไปนี้ลงไป ที่นี่ เราได้สร้างตัวแปรชื่อลำดับ เป้าหมายของเราคือการพิมพ์ตัวเลขตั้งแต่ 1 ถึง 10 ขณะใช้คำสั่ง seq สำหรับการทำเช่นนั้น เราได้กำหนดค่า $(seq 1 10) ให้กับตัวแปรลำดับ คุณยังสามารถระบุช่วงตัวเลขอื่นๆ ได้หากต้องการ ตัวเลขแรกหลังคำสั่ง seq ระบุขอบเขตล่างของลำดับ ในขณะที่หมายเลขที่สองหมายถึงขอบเขตบน หลังจากพิมพ์สคริปต์นี้แล้ว ให้บันทึกไฟล์ของคุณแล้วปิด

ขั้นตอนที่ # 2: การดำเนินการ Modified Bash Script ผ่าน Terminal:

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

ดำเนินการคำสั่ง 'pwd' ที่เก็บไว้ในตัวแปร:

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

ขั้นตอนที่ # 1: การแก้ไข Bash Script ที่สร้างขึ้นด้านบน:

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

ขั้นตอนที่ # 2: การดำเนินการ Modified Bash Script ผ่าน Terminal:

ตอนนี้รันสคริปต์ทุบตีในลักษณะเดียวกับที่อธิบายไว้ข้างต้น ผลลัพธ์ของสคริปต์ Bash นี้จะแสดงไดเร็กทอรีการทำงานปัจจุบันให้คุณเห็น ส่วนที่ไฮไลต์ของเอาต์พุต อันที่จริงแล้ว เอาต์พุตของคำสั่ง pwd

บทสรุป:

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