บทนำสู่การเขียนสคริปต์ Bash
เรียนรู้พื้นฐานการเขียนสคริปต์ Bash ซึ่งครอบคลุมตัวแปร คำสั่งเงื่อนไข ลูป และการเรียกใช้คำสั่งเบื้องต้น
บทนำสู่การเขียนสคริปต์ Bash เป็นบทเรียน Linux Server Deployment & SSH Mastery ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Linux Server Deployment & SSH Mastery และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Linux Server Deployment & SSH Mastery มีบทเรียนทั้งหมด 4 บทเรียน
Bash Scripting คืออะไร
ยินดีต้อนรับสู่โลกของการเขียนสคริปต์ Bash! Bash (Bourne Again SHell) เป็นตัวแปลคำสั่งสำหรับบรรทัดคำสั่งเริ่มต้นในระบบ Linux ส่วนใหญ่
สคริปต์ Bash คือไฟล์ข้อความที่มีชุดคำสั่ง ทำให้คุณทำงานที่ปกติต้องพิมพ์ด้วยตนเองในเทอร์มินัลให้เป็นอัตโนมัติได้
- ประหยัดเวลาด้วยการทำงานซ้ำ ๆ ให้เป็นอัตโนมัติ
- เรียกใช้ลำดับคำสั่งที่ซับซ้อนได้ด้วยการเรียกใช้เพียงครั้งเดียว
- สร้างเครื่องมือแบบกำหนดเองสำหรับการดูแลเซิร์ฟเวอร์
สคริปต์แรกของคุณ: Hello World
สคริปต์ทุกตัวเริ่มต้นด้วยบรรทัด shebang (#!/bin/bash) ซึ่งบอกระบบว่าควรใช้ตัวแปลคำสั่งใดกับสคริปต์นี้
จากนั้นให้เพิ่มคำสั่งของคุณ เรามาสร้างสคริปต์คลาสสิก 'Hello, World!' กัน
#!/bin/bash
# This is a comment: The script says hello.
echo "Hello, CoddyKit!"
ทำให้สคริปต์เรียกใช้ได้
หลังจากบันทึกสคริปต์แล้ว (เช่นเป็น hello.sh) คุณต้องกำหนดสิทธิ์ให้สคริปต์เรียกใช้ได้ โดยใช้คำสั่ง chmod ซึ่งใช้เปลี่ยนสิทธิ์ของไฟล์
ตัวเลือก +x จะมอบสิทธิ์ในการเรียกใช้ หากไม่มีสิทธิ์นี้ ระบบจะไม่ทราบว่าไฟล์ดังกล่าวเป็นโปรแกรมที่ต้องเรียกใช้
#!/bin/bash
# In a real terminal, you would run:
# chmod +x hello.sh
# ./hello.sh
echo "Permissions matter!"
การทำงานกับตัวแปร
ตัวแปรใช้จัดเก็บข้อมูล ใน Bash คุณกำหนดตัวแปรโดยกำหนดค่าให้กับชื่อ ไม่จำเป็นต้องใช้คำสำคัญสำหรับการประกาศแบบพิเศษ
- กำหนดค่า:
NAME=value(ห้ามเว้นวรรครอบ=) - เข้าถึงค่า:
$NAMEหรือ${NAME}
เรามาจัดเก็บข้อความและแสดงข้อความนั้นกัน
#!/bin/bash
MESSAGE="Welcome to scripting!"
echo $MESSAGE
การรวมคำสั่งและตัวแปร
คุณสามารถใช้ตัวแปรร่วมกับคำสั่งมาตรฐานของ Linux ได้ ตัวอย่างเช่น คุณสามารถจัดเก็บชื่อไดเรกทอรีไว้ในตัวแปร แล้วใช้ ls เพื่อแสดงรายการเนื้อหาของไดเรกทอรี
วิธีนี้ทำให้สคริปต์ยืดหยุ่น เพราะคุณสามารถเปลี่ยนค่าของตัวแปรได้โดยไม่ต้องแก้ไขคำสั่งเอง
#!/bin/bash
TARGET_DIR="/tmp"
echo "Listing contents of $TARGET_DIR:"
ls $TARGET_DIR
ตรรกะเงื่อนไข: คำสั่ง 'if'
สคริปต์มักจำเป็นต้องตัดสินใจ คำสั่ง if ช่วยให้สคริปต์เรียกใช้โค้ดได้ต่อเมื่อเงื่อนไขที่กำหนดเป็นจริงเท่านั้น
โดยทั่วไปเงื่อนไขจะอยู่ภายในวงเล็บเหลี่ยม [ ] โปรดจำไว้ว่าต้องเว้นวรรครอบวงเล็บและตัวดำเนินการ
#!/bin/bash
NUMBER=10
if [ $NUMBER -gt 5 ]; then
echo "Number is greater than 5."
fi
เพิ่ม 'else' และ 'elif'
หากต้องการจัดการกรณีที่เงื่อนไขของ if เป็นเท็จ คุณสามารถใช้ else ได้ หากมีหลายเงื่อนไข elif (else if) จะช่วยให้จัดการได้สะดวก
-eq: เท่ากับ-ne: ไม่เท่ากับ-lt: น้อยกว่า-le: น้อยกว่าหรือเท่ากับ-gt: มากกว่า-ge: มากกว่าหรือเท่ากับ
#!/bin/bash
GRADE=85
if [ $GRADE -ge 90 ]; then
echo "You got an A!"
elif [ $GRADE -ge 80 ]; then
echo "You got a B!"
else
echo "Keep studying!"
fi
การวนซ้ำด้วย 'for'
การวนซ้ำมีความสำคัญต่อการทำงานซ้ำ ๆ ลูป for จะวนซ้ำไปตามรายการสิ่งของหรือช่วงตัวเลข
เหมาะสำหรับประมวลผลไฟล์หลายไฟล์ ข้อมูลนำเข้าของผู้ใช้ หรือการดำเนินการซ้ำตามจำนวนครั้งที่กำหนด
#!/bin/bash
for FRUIT in Apple Banana Orange;
do
echo "I like $FRUIT."
done
# Another common way: sequence
for i in {1..3};
do
echo "Count: $i"
done
การวนซ้ำด้วย 'while'
ลูป while จะเรียกใช้คำสั่งต่อไปตราบเท่าที่เงื่อนไขที่กำหนดยังคงเป็นจริง ลูปนี้มีประโยชน์เมื่อคุณไม่ทราบแน่ชัดว่าต้องวนซ้ำกี่ครั้ง
โปรดอย่าลืมกำหนดทางให้เงื่อนไขกลายเป็นเท็จในท้ายที่สุด มิฉะนั้นคุณจะสร้างลูปไม่รู้จบ
#!/bin/bash
COUNT=1
while [ $COUNT -le 3 ]; do
echo "The count is $COUNT."
COUNT=$((COUNT + 1))
done
ตรวจสอบการเขียนสคริปต์ Bash
สคริปต์ Bash อย่างง่ายนี้จะแสดงผลลัพธ์เป็นอะไร
#!/bin/bash
NAME="Coddy"
AGE=5
if [ $AGE -gt 10 ]; then
echo "Hello, $NAME! You are a teen."
elif [ $AGE -eq 5 ]; then
echo "Hi, $NAME! You are young."
else
echo "Welcome, $NAME!"
fi
ทบทวน: พื้นฐานการเขียนสคริปต์ Bash
ทำได้ดีมาก! คุณได้เรียนรู้องค์ประกอบพื้นฐานของการเขียนสคริปต์ Bash แล้ว:
- Shebang:
#!/bin/bashใช้กำหนดตัวแปลคำสั่ง - ไฟล์ที่เรียกใช้ได้: ใช้
chmod +xเพื่อเรียกใช้สคริปต์ - ตัวแปร: จัดเก็บข้อมูลด้วย
NAME=valueและเข้าถึงค่าด้วย$NAME - เงื่อนไข: ตัดสินใจด้วย
if,elifและelseโดยใช้ตัวดำเนินการทดสอบ เช่น-gtและ-eq - ลูป: ทำงานซ้ำด้วย
for(วนตามรายการหรือช่วงค่า) และwhile(วนจนกว่าเงื่อนไขจะเป็นเท็จ)
พื้นฐานเหล่านี้คือองค์ประกอบสำคัญสำหรับทำงานเซิร์ฟเวอร์ที่ซับซ้อนให้เป็นอัตโนมัติ
คำถามที่พบบ่อย
บทเรียน “บทนำสู่การเขียนสคริปต์ Bash” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “บทนำสู่การเขียนสคริปต์ Bash” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Linux Server Deployment & SSH Mastery ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Linux Server Deployment & SSH Mastery มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “บทนำสู่การเขียนสคริปต์ Bash”
เรียนรู้พื้นฐานการเขียนสคริปต์ Bash ซึ่งครอบคลุมตัวแปร คำสั่งเงื่อนไข ลูป และการเรียกใช้คำสั่งเบื้องต้น คุณปฏิบัติ Linux Server Deployment & SSH Mastery ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Linux Server Deployment & SSH Mastery หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Linux Server Deployment & SSH Mastery บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “บทนำสู่การเขียนสคริปต์ Bash” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Linux Server Deployment & SSH Mastery นี้ได้ไหม
ได้ บทเรียน Linux Server Deployment & SSH Mastery ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- บทนำสู่การเขียนสคริปต์ Bash
- การทำงานเซิร์ฟเวอร์โดยอัตโนมัติ
- การจัดการข้อผิดพลาดและการบันทึกในสคริปต์
- ฟังก์ชัน อาร์กิวเมนต์ และสคริปต์ที่นำกลับมาใช้ซ้ำได้