ค้นหาเว็บไซต์

ทำความเข้าใจกับเคล็ดลับภาษาการเขียนสคริปต์ Linux Shell และ Basic Shell - ตอนที่ 1


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

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

  1. 5 เชลล์สคริปต์เพื่อเรียนรู้การเขียนโปรแกรมเชลล์ – ตอนที่ II
  2. ล่องเรือผ่านโลกแห่งการเขียนสคริปต์ Linux BASH - ตอนที่ III

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

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

ประเภทของเชลล์บนการกระจาย Linux มาตรฐาน

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

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

เริ่มต้นความสนุก! (ลินุกซ์เชลล์)

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

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

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

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

เกี่ยวกับเชลล์สคริปต์

เชลล์สคริปต์เป็นเพียงไฟล์ข้อความธรรมดาที่มีนามสกุล “.sh” ซึ่งมีสิทธิ์ปฏิบัติการได้

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

  1. เปิดเทอร์มินัล
  2. นำทางไปยังตำแหน่งที่คุณต้องการสร้างสคริปต์โดยใช้คำสั่ง 'cd'
  3. Cd (ป้อน) [สิ่งนี้จะนำข้อความแจ้งมาที่ ไดเรกทอรีหลักของคุณ]
  4. แตะ 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 (is the shebang.)
My first script (is comment, anything following '#' is a comment)
echo “Hello World!” (is the main part of this script)
การเขียนสคริปต์ที่สองของคุณ

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

#! /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

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

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

หากคุณรู้ภาษาโปรแกรม 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

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

อ่านเพิ่มเติม : 5 เชลล์สคริปต์เพื่อเรียนรู้การเขียนโปรแกรมเชลล์ – ตอนที่ 2