shell script คืออะไรและการใช้งาน

Sr. Sorawit
Sep 6, 2018 · 2 min read
#!/bin/bash

Benefit of Shell Script?

เมื่อนักพัฒนา (Developer) ต้องการแก้ปัญหาการทำงานซ้ำๆ นักพัฒนาสามารถเขียนระบบ Automated เพื่อช่วยให้ทำงานเร็วขึ้น อีกทั้งคนในทีมสามารถนำไปใช้ได้ง่ายขึ้น หรือ การ install environment สำหรับ run project นั้นๆ

ตัวอย่างเช่น เราสามารถ Set Environment ของ Project นั้นๆ เราสามารถเขียน Script เพื่อทำการ install แบบ Automated เพื่อทีเราไม่ต้องเสียเวลาในการทำ pip install ทีละ package เป็นต้น

What is “Shell Script” ?

ก่อนอื่นเรามาทำเข้าใจโครงสร้างพื้นฐานของ Unix ซึ่งเป็น Core ของ OS ต่างๆ ดังนี้

  • Linux Distro คือ CentOS, Oracle RedHat, Ubuntu, Amazon linux และ Android
  • Darwin คือ Core OS ของ Apple ทุกตัว ได้แก่ iOS, macOS, watchOS และ tvOS

Unix เกิดขึ้นในปี ค.ศ. 1970 โดย MIT และ Bell Labs จุดประสงค์เริ่มแรกของ Unix คือเป็น OS ของ GE-645 โดยชื่อ ​Unix นั่นแปลงมาจากคำว่า Unics (ย่อมาจาก Uniplexed Information and Computing Service) โดยจุดเด่นของ Unix คือถูกออกแบบตั้งแต่ต้น portable, multi-tasking และสามารถถูกใช้งานได้หลาย User ได้ในเวลาเดียวกัน ซึ่งคุณสมบัติของ Multi-user นี้ทำให้ Unix เป็นที่นิยมในการใช้งานบนเครื่อง​ Mainframe มากกว่า OS ของ Microsoft

Unix Component :

องค์ประกอบหลักของ Unix นั้น แบ่งเป็น 4 ส่วน ได้แก่

Unix Component
  • Kernel: แกนกลางของระบบ ควบคุมการทำงานภายใน เชื่อมต่อกับ Hardware และ I/O
  • File System: ระบบไฟล์จัดเก็บข้อมูล (Files & Directory)
  • Shell: คือ Command interpreter ทำหน้าที่เป็นตัวกลางระหว่าง user กับ Kernel
  • Utilities: คำสั่งที่ผู้ใช้สามารถเรียกใช้ได้บน Shell
Unix History

ดังนั้น Shell คือโปรแกรมหนึ่งในระบบ Unix ที่ทำหน้าที่ interface เชื่อมต่อระหว่าง User กับ Kernel ซึ่ง user สามารถสั่งงาน Unix ผ่าน shell เท่านั้น อีกทั้งโปรแกรม Shell ยังคุณสมบัติสามารถ Programming (หรือ Shell Programming Language) ได้ ทำให้ user สามารถนำคำสั่งต่างของ Shell มาเขียนโปรแกรมและสามารถเก็บเป็นไฟท์ เรียกว่า Shell Script

How to writing “Shell Script” ?

เริ่มต้นจากการสร้างไฟท์ .sh ซึ่งสามารถสร้างจาก Vim ได้ หรือ ถ้าไม่รู้จัก Vim ไม่เป็นไรครับ เราสามารถจาก create file ได้แล้วตั้งเป็นนามสกุล .sh

Terminal: vim build.sh

การเขียน Shell Script หลักๆ ที่ผมใช้บ่อยมีอยู่ 2 แบบ คือ

  • Bourne shel (.sh): ใช้สำหรับการ run การรันคำสั่งบน shell หรือ Terminal เป็นคำสั่งย่อๆ เช่น ls, cd .. , mkdir <filename>, python app.py เป็นต้น
#!/bin/sh

clear
ls -al
  • Bourne-Again shell (bash): เหมาะกับการใช้งานทั่วไปซึ่งสามารถ Programming ได้และรวมความสามารถการสั่ง command line ได้ด้วย (หรือก็คือการนำความสามารถ#!/bin/sh มาใช้งานร่วมด้วย)
#!/bin/bash
HELLO=Hello
function hello {
local HELLO=World
echo $HELLO
if [ "foo" = "foo" ]; then
echo expression evaluated as true
else
echo expression evaluated as false
}

echo $HELLO
hello

Reference: แหล่งความรู้

DOLAB

Education for Software Engineering and We make dreams through this.

Sr. Sorawit

Written by

Data Experience @Guru Square • Software Engineer • From @Thailand • founder dolab • Website:http://dolab.cc/ Email:dolab.founder@gmail.com • Facebook:dolab

DOLAB

DOLAB

Education for Software Engineering and We make dreams through this.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade