Shell ในระบบปฎิบัติการ Linux และ Unix
ในการติดต่อกับระบบ ลีนุกซ์(linux) หรือ ยูนิกซ์(unix) เรามักจะเรียกผ่านโปรแกรมเล็กที่เรียกว่า Shell(เชลล์)
ซึ่งเป็นคำสั่งประยุกต์ ที่คอยตีความคำสั่งจากผู้ใช้
ซึ่ง Shell ได้พัฒนามาหลายยุกหลายสมัย
คือ
1) Bourne Shell (เกิดขึ้นก่อน) คนส่วนใหญ่เรียกว่า sh (/bin/sh)
ข้อเสีย คือ ขาด job control
2) C Shell หรือ csh มีคำสั่งรูปแบบคล้ายภาษา C (/bin/csh)
ตัวแรก ทำ jobs control ได้
3) Korn Shell หรือ ksh (/bin/ksh)
รวม Bourne และ C Shell ไว้ด้วยกัน ซึ่งจะมีขนาดใหญ่กว่า Shell ตัวอื่นๆ
4) Bourne Again shell (/bin/bash)
คือการนำ Bourne Shell มาพัฒนาอีกครั้งหนึ่ง ปัจจุบันกลายเป็น default shell ของ linux
เมื่อเราเข้าระบบ เราจะเช็คว่าเครื่อง server เราใช้ shell ตัวใด
Last login: Mon Mar 9 19:19:13 2009 from 172.16.195.140
Sun Microsystems Inc. SunOS 5.10 Generic January 2005
You have new mail.
ORACLE>echo $SHELL
/bin/ksh
ORACLE>
การเขียน script
#!/usr/bin/ksh <===การเขียน script ซึ่งส่วนมาก บรรทัดแรก เราจะเขียนไว้ว่า ใช้ shell ตัวใด
DIR_APP=$1
echo $DIR_APP
จากตัวอย่างเป็นการเขียน Shell Script ง่ายๆ ใน Unix ซึ่งจะเห็นว่า ก็คือการนำ Unix Command มาอยู่ใน Script นั้นเอง
นี่เป็นก้าวแรกๆ ของการเขียน Shell Script ซึ่งในโอกาสต่อไป เราจะมาศึกษาระดับสูงกัน
แล้วเราจะเลือกใช้เชลล์(Shell) ตัวไหนดีหล่ะ
1) ซี หรือ ทีซีเชลล์ (csh/tcsh) มีความสามารถกว่า Bourne Shell มีแฟ้มเก็บคำสั่งการทำงาน
แต่ไม่สามารถเข้าใจโครงสร้างของ script Bourne Shell ได้ อย่างไรก็ตามซีเชลล์นั้นสามารถ
เรียกบอร์นเชลล์ขึ้นมาเพื่อรันสคลิปต์ของบอร์นเชลล์ได้
2) คอร์นเชล (ksh) มีการใช้งานแพร่หลายใน unix รวม Bourne+C Shell ไว้ด้วยกัน
3) บาชเชลล์ (bash) เป็นเชล มาตรฐานใน Linux โดยสามารถรัน Script ที่เป็น Bourne และ C Shell ได้