คู่มือเริ่มต้นใช้งานสำหรับ BASH - ตอนที่ 1 - สวัสดีชาวโลก

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

ตอนนี้คุณอาจคิดว่านี่เป็นแนวคิดโง่ ๆ แต่ฉันพบว่าคำแนะนำบางฉบับพูดกับคุณราวกับว่าคุณเป็นผู้เชี่ยวชาญและคำแนะนำอื่น ๆ ใช้เวลานานในการตัดต่อ

ขณะที่ประสบการณ์ในการเขียนสคริปต์ของ LINUX / UNIX ของฉันมี จำกัด แต่ฉันเป็นผู้พัฒนาซอฟต์แวร์โดยการค้าและฉันเป็นคนที่เขียนสคริปต์ภาษาต่างๆเช่น PERL, PHP และ VBScript

จุดของคู่มือนี้คือคุณจะได้เรียนรู้ในขณะที่ฉันเรียนรู้และข้อมูลที่ฉันได้รับฉันจะส่งต่อไปยังคุณ

เริ่มต้นใช้งาน

มีทฤษฎีมากมายที่สามารถถ่ายทอดให้คุณได้อย่างตรงไปตรงมาเช่นการอธิบาย เปลือกหอยที่แตกต่างกัน และข้อดีของการใช้ BASH เหนือ KSH และ CSH

คนส่วนใหญ่เมื่อเรียนรู้สิ่งใหม่ ๆ ต้องการก้าวกระโดดและเริ่มต้นด้วยบทเรียนเชิงปฏิบัติบางอย่างก่อนและด้วยเหตุนี้ฉันจะไม่เบื่อหน่ายกับเรื่องไม่สำคัญที่ไม่สำคัญในขณะนี้

ทั้งหมดที่คุณต้องการสำหรับการทำตามคำแนะนำนี้คือโปรแกรมแก้ไขข้อความและเครื่อง BASH (เชลล์เริ่มต้นสำหรับการแจกแจง Linux ส่วนใหญ่)

บรรณาธิการข้อความ

คำแนะนำอื่น ๆ ที่ฉันได้อ่านได้แนะนำว่าคุณต้องมีโปรแกรมแก้ไขข้อความซึ่งมีโค้ดสีของคำสั่งและโปรแกรมแก้ไขที่แนะนำ ได้แก่ VIM หรือ EMACS

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

ออกจากสองฉันชอบ EMACS แต่จะซื่อสัตย์ฉันชอบใช้แก้ไขง่ายเช่น nano , gedit หรือ leafpad

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

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

การเปิดหน้าต่างปลายทาง

ถ้าคุณใช้การกระจาย Linux กับเดสก์ท็อปแบบกราฟิกเช่น Linux Mint หรือ Ubuntu คุณสามารถเปิดหน้าต่างเทอร์มินัลโดยการกด CTRL + ALT + T

ตำแหน่งที่จะใส่สคริปต์ของคุณ

สำหรับจุดประสงค์ของบทแนะนำนี้คุณสามารถใส่สคริปต์ของคุณลงในโฟลเดอร์ใต้โฟลเดอร์บ้านของคุณได้

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

cd ~

คำสั่ง cd หมายถึง directory การเปลี่ยนแปลงและ tilde (~) เป็นทางลัดสำหรับโฟลเดอร์บ้านของคุณ

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

รหัสผ่าน

คำสั่ง pwd จะบอกไดเรกทอรีการทำงานปัจจุบันของคุณ (ตำแหน่งที่คุณอยู่ในโครงสร้างไดเรกทอรี) ในกรณีของฉันมันกลับ / home / gary

ตอนนี้เห็นได้ชัดว่าคุณไม่ต้องการนำสคริปต์ของคุณไปที่โฟลเดอร์บ้านโดยตรงเพื่อสร้างโฟลเดอร์ที่เรียกว่าสคริปต์โดยพิมพ์คำสั่งต่อไปนี้

สคริปต์ mkdir

เปลี่ยนเป็นโฟลเดอร์สคริปต์ใหม่โดยพิมพ์คำสั่งต่อไปนี้:

สคริปต์ cd

บทแรกของคุณ

เป็นเรื่องปกติที่เมื่อเรียนรู้วิธีการเขียนโปรแกรมเพื่อสร้างรายการแรกให้พิมพ์คำว่า "Hello World"

จากภายในโฟลเดอร์สคริปต์ของคุณให้ป้อนคำสั่งต่อไปนี้:

nano helloworld.sh

ตอนนี้ใส่รหัสต่อไปนี้ลงในหน้าต่างนาโน

#! / bin / bash echo "สวัสดีชาวโลก"

กด CTRL + O เพื่อบันทึกไฟล์และกด CTRL + X เพื่อออกจาก nano

สคริปต์ดังกล่าวถูกสร้างขึ้นดังนี้:

#! / bin / bash ต้องรวมอยู่ด้านบนของสคริปต์ทั้งหมดที่คุณเขียนเนื่องจากช่วยให้ล่ามและระบบปฏิบัติการทราบวิธีจัดการไฟล์ โดยทั่วไปเพียงจำใส่ในและลืมเกี่ยวกับสาเหตุที่คุณทำ

บรรทัดที่สองมีคำสั่งเดียวที่เรียกว่า echo ซึ่งจะแสดงผลข้อความที่ตามมาทันที

โปรดทราบว่าถ้าคุณต้องการแสดงคำมากกว่าหนึ่งคำคุณต้องใช้เครื่องหมายคำพูดคู่ (") รอบ ๆ คำ

ขณะนี้คุณสามารถเรียกใช้สคริปต์ได้โดยการพิมพ์คำสั่งต่อไปนี้:

sh helloworld.sh

คำว่า "สวัสดีชาวโลก" ควรปรากฏขึ้น

อีกวิธีหนึ่งในการเรียกใช้สคริปต์มีดังนี้:

./helloworld.sh

โอกาสที่ว่าถ้าคุณเรียกใช้คำสั่งใน terminal ของคุณทันทีที่คุณจะได้รับข้อผิดพลาดสิทธิ์

หากต้องการให้สิทธิ์ในการเรียกใช้สคริปต์ด้วยวิธีนี้ให้พิมพ์ข้อมูลต่อไปนี้

sudo chmod + x helloworld.sh

ดังนั้นสิ่งที่เกิดขึ้นจริงมี? ทำไมคุณถึงสามารถเรียกใช้ sh helloworld.sh ได้โดยไม่ต้องเปลี่ยนสิทธิ์ แต่การเรียกใช้. helloworld.sh เกิดปัญหาขึ้นหรือไม่?

วิธีแรกโหลดข้อมูลล่าม bash ซึ่งใช้เวลา helloworld.sh เป็นข้อมูลป้อนเข้าและแสดงว่าจะทำอย่างไร ล่าม bash มีสิทธิ์เรียกใช้และต้องการเรียกใช้คำสั่งในสคริปต์เท่านั้น

วิธีที่สองช่วยให้ระบบปฏิบัติการทำงานว่าจะทำอย่างไรกับสคริปต์และดังนั้นจึงต้องใช้บิตปฏิบัติการในการดำเนินการ

สคริปต์ข้างต้นไม่เป็นไร แต่เกิดอะไรขึ้นถ้าคุณต้องการแสดงเครื่องหมายคำพูด

มีหลายวิธีเพื่อให้บรรลุเป้าหมายนี้ ตัวอย่างเช่นคุณสามารถใส่เครื่องหมายแบ็กสแลชก่อนเครื่องหมายคำพูดได้ดังนี้:

echo \ "สวัสดีชาวโลก \"

นี้จะผลิตผลผลิต "สวัสดีโลก"

รอสักครู่แม้ว่าสิ่งที่คุณต้องการจะแสดง \ "สวัสดีโลก \"?

ดีที่คุณสามารถหลบหนีตัวหนีเช่นกัน

echo \\ "\" สวัสดีโลก \\ "\"

นี่จะเป็นการสร้างผลลัพธ์ \ "สวัสดีชาวโลก \"

ตอนนี้ฉันรู้ว่าคุณคิดยังไง แต่ฉันต้องการแสดง \\ "\" สวัสดีโลก \\ "\"

การใช้ echo กับตัวหนีทั้งหมดเหล่านี้จะได้รับโง่มาก มีคำสั่งอื่นที่คุณสามารถใช้เรียก printf

ตัวอย่างเช่น:

printf '% s \ n' '\\ "\" สวัสดีโลก \\ "\"'

โปรดทราบว่าข้อความที่เราต้องการแสดงอยู่ระหว่างเครื่องหมายคำพูดเดียว คำสั่ง printf จะแสดงผลข้อความจากสคริปต์ของคุณ % s หมายความว่าจะแสดงสตริง \ n ส่งออกบรรทัดใหม่

สรุป

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

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