Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม Bash

เรียนรู้พื้นฐาน Linux Shell: เคล็ดลับสำคัญสำหรับการเขียนสคริปต์มือใหม่

ภาพพูดได้มากกว่าคำพูด และภาพด้านล่างอธิบายทุกอย่างเกี่ยวกับการทำงานของ Linux

อ่านเพิ่มเติม

  1. 5 Shell Scripts to Learn Shell Programming – Part II
  2. Sailing Through The World of Linux BASH Scripting – Part III

การทำความเข้าใจ Linux Shell

  1. Shell: ตัวแปลคำสั่งบรรทัดคำสั่งที่เชื่อมต่อผู้ใช้กับ ระบบปฏิบัติการ และอนุญาตให้รันคำสั่งหรือสร้างสคริปต์ข้อความ
  2. Process: งานใดๆ ที่ผู้ใช้รันในระบบเรียกว่า Process Process ซับซ้อนกว่าแค่งานปกติ
  3. File: อยู่บนฮาร์ดดิสก์ (HDD) และมีข้อมูลที่เป็นของ ผู้ใช้
  4. X-windows หรือ windows: โหมดของ Linux ที่หน้าจอ (มอนิเตอร์) สามารถแบ่งเป็น ส่วน ย่อยๆ เรียกว่า windows ทำให้ผู้ใช้ทำหลายอย่างพร้อมกัน และ/หรือสลับงานได้ง่าย และดูกราฟิกได้สวยงาม
  5. Text terminal: มอนิเตอร์ที่สามารถแสดงข้อความอย่างเดียว ไม่มีกราฟิกหรือกราฟิกพื้นฐานมาก
  6. Session: เวลาระหว่าง ล็อกอิน และ ล็อกเอาท์ ของระบบ

ประเภทของ Shell ใน Linux Distribution มาตรฐาน

Bourne shell : Bourne shell เป็นหนึ่งในเชลล์หลักที่ใช้ในรุ่นแรกๆ และกลายเป็นมาตรฐานข้อเท็จจริง เขียนโดย Stephen Bourne ที่ Bell Labs ทุกระบบ Unix-like มีเชลล์อย่างน้อยหนึ่งตัวที่เข้ากันได้กับ Bourne shell โปรแกรม Bourne shell ชื่อ "sh" และตั้งอยู่ที่ /bin/sh ในลำดับชั้นระบบไฟล์

C shell: C shell พัฒนาโดย Bill Joy สำหรับ Berkeley Software Distribution ไวยากรณ์ของมันโปรดเปรียบเทียบกับภาษาโปรแกรม C ใช้ 주로 สำหรับการใช้งานเทอร์มินัลแบบโต้ตอบ แต่น้อยกว่าสำหรับสคริปต์และควบคุมระบบปฏิบัติการ C shell มีคำสั่งโต้ตอบมากมาย

เริ่มต้นสนุกกัน! (Linux Shell)

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

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

พื้นฐานการเขียนโปรแกรมเชลล์

  1. เพื่อได้ Linux shell คุณต้องเริ่มเทอร์มินัล
  2. เพื่อดูว่าคุณมีเชลล์อะไร รัน: echo $SHELL
  3. ใน Linux เครื่องหมายดอลลาร์ ($) แทนตัวแปรเชลล์
  4. คำสั่ง 'echo' เพียงคืนค่าสิ่งที่คุณพิมพ์เข้าไป
  5. คำสั่งไปป์ไลน์ (|) ช่วยชีวิตเมื่อต้องต่อคำสั่งหลายตัว
  6. คำสั่ง Linux มีไวยากรณ์ของตัวเอง Linux ไม่ยอมแพ้ข้อผิดพลาดอะไรเลย ถ้าคุณพิมพ์คำสั่งผิด คุณจะไม่ตกหรือทำลายอะไร แต่มันจะไม่ทำงาน
  7. #!/bin/sh – เรียกว่า shebang เขียนบนสุดของเชลล์สคริปต์ และส่งคำสั่งไปยังโปรแกรม /bin/sh

เกี่ยวกับ Shell Script

Shell script คือไฟล์ข้อความธรรมดาที่มีนามสกุล ".sh" และมีสิทธิ์รันได้

ขั้นตอนการเขียนและรันสคริปต์

  1. เปิดเทอร์มินัล
  2. ไปที่ตำแหน่งที่ต้องการสร้างสคริปต์ด้วยคำสั่ง 'cd'
  3. Cd (Enter) [จะนำพรอมต์ไปที่ Home Directory ของคุณ]
  4. touch hello.sh (ที่นี่เราตั้งชื่อสคริปต์ว่า hello จำไว้ว่านามสกุล '.sh' เป็นบังคับ)
  5. vi hello.sh (nano hello.sh) [คุณสามารถใช้โปรแกรมแก้ไขที่ชอบได้]
  6. chmod 744 hello.sh (ทำให้สคริปต์รันได้)
  7. sh hello.sh หรือ ./hello.sh (รันสคริปต์)
เขียนสคริปต์แรกของคุณ
#!/bin/bash
# My first script
echo "Hello World!"

บันทึกบรรทัดข้างต้นในไฟล์ข้อความ ทำให้รันได้ และรันตามที่อธิบายไว้ข้างต้น

ตัวอย่างผลลัพธ์

Hello World!

ในโค้ดข้างต้น

#!/bin/bash (คือ shebang)
# My first script (คือคอมเมนต์ ทุกอย่างหลัง '#' เป็นคอมเมนต์)
echo "Hello World!" (คือส่วนหลักของสคริปต์นี้)
เขียนสคริปต์ที่สองของคุณ

โอเค เวลาไปสคริปต์ต่อไป สคริปต์นี้จะบอก username ของคุณ และแสดง processes ที่กำลังทำงาน

#! /bin/bash
echo "Hello $USER"
echo "Hey i am" $USER "and will be telling you about the current processes"
echo "Running processes List"
ps

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

ตัวอย่างผลลัพธ์

Hello tecmint
Hey i am tecmint and will be telling you about the current processes
Running processes List
PID TTY TIME CMD
1111 pts/0 00:00:00 bash
1287 pts/0 00:00:00 sh
1288 pts/0 00:00:00 ps

เยอดไหม? การเขียนสคริปต์ง่ายเท่าการมีไอเดียและเขียนคำสั่งแบบไปป์ไลน์ มีข้อจำกัดบ้าง Shell scripts เหมาะสำหรับการดำเนินการระบบไฟล์ที่กระชับ และสคริปต์การรวมฟังก์ชันที่มีอยู่ในฟิลเตอร์และเครื่องมือบรรทัดคำสั่งผ่านไปป์ไลน์

เมื่อความต้องการของคุณมากกว่านี้ – ไม่ว่าจะเป็น ฟังก์ชัน, ความทนทาน, ประสิทธิภาพ, ประสิทธิผล เป็นต้น – คุณสามารถย้ายไปภาษาที่มีฟีเจอร์ครบครันกว่าได้

ถ้าคุณรู้จัก C/Perl/Python หรือภาษาโปรแกรมอื่นๆ อยู่แล้ว การเรียนภาษาสคริปต์จะไม่ยากมาก

เขียนสคริปต์ที่สามของคุณ

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

#! /bin/bash
echo "Hey what's Your First Name?"; read a;
echo "welcome Mr./Mrs. $a, would you like to tell us, Your Last Name"; read b;
echo "Thanks Mr./Mrs. $a $b for telling us your name";
echo "*******************"
echo "Mr./Mrs. $b, it's time to say you good bye"

ตัวอย่างผลลัพธ์

Hey what's Your First Name? Avishek
welcome Mr./Mrs. Avishek, would you like to tell us, Your Last Name
Kumar
Thanks Mr./Mrs. Avishek Kumar for telling us your name
******************************************************
Mr./Mrs. Kumar, it's time to say you good bye

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

อ่านเพิ่มเติม : 5 Shell Scripts to Learn Shell Programming – Part II