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

เรียนรู้ Bash Scripting: สร้างสคริปต์ Hello World แบบง่าย

ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีสร้างและรันสคริปต์ Bash แบบง่ายที่พิมพ์คำว่า "Hello World"

Shebang (#!) คืออะไร

ทุกสคริปต์เชลล์ (shell script) เริ่มต้นด้วยสัญลักษณ์ Shebang #! ซึ่งประกาศอยู่บรรทัดแรกของสคริปต์ และบอกเชลล์ว่าจะใช้ตัวแปล (interpreter) อะไรในการรันสคริปต์

#!/bin/bash
...

สคริปต์ Hello World ใน Bash

ตอนนี้เราจะสร้างสคริปต์ Bash ที่พิมพ์คำว่า "Hello World" ออกมาที่เทอร์มินัล

ก่อนอื่น สร้างไฟล์ชื่อ hello_world.sh โดยใช้เทอร์มินัล:

$ touch hello_world.sh

ไฟล์ของเราถูกสร้างแล้ว

ต่อไป เปิดไฟล์ในโปรแกรมแก้ไขที่ชอบ ผมใช้ nano ดังนั้นคำสั่งจะเป็น:

$ nano hello_world.sh

เมื่อ hello_world.sh เปิดในโปรแกรมแก้ไขแล้ว ให้พิมพ์คำสั่งต่อไปนี้:

#!/bin/bash
echo "Hello World"

การรันสคริปต์เชลล์

ตอนนี้เพื่อพิมพ์ hello world เราต้องรันสคริปต์เชลล์ที่สร้างขึ้น

มีหลายวิธีในการรันสคริปต์เชลล์:

$ sh ./hello_world.sh ## ผิด
$ ./hello_world.sh ## ถูกต้อง
$ bash ./hello_world.sh ## ถูกต้อง

วิธีแรกผิด เพราะคุณสั่งให้เชลล์ใช้ตัวแปลของเชลล์ ไม่ใช่ตัวแปลของ Bash

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

วิธีที่สามก็ถูกต้อง เพราะในกรณีนี้ เราระบุให้ใช้ตัวแปล Bash ซึ่งตรงกับที่กำหนดในไฟล์

Permission Denied เมื่อรันสคริปต์เชลล์

ถ้าคุณพยายามรันสคริปต์ด้วย:

$ ./hello_world.sh
-bash: ./hello_world.sh: Permission denied

คุณจะเห็นข้อผิดพลาด Permission denied เพราะสคริปต์ไม่มีสิทธิ์รัน (execute permission)

คุณสามารถให้สิทธิ์รันกับสคริปต์ได้ด้วย:

$ chmod +x ./hello_world.sh

ตอนนี้ ถ้ารันสคริปต์อีกครั้ง คุณจะเห็น "Hello World" พิมพ์ออกมา:

$ ./hello_world.sh
Hello World