0Pricing
DevOps Bootcamp · บทเรียน

ตัวแปรและอินพุตจากผู้ใช้

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

ตัวแปรและอินพุตจากผู้ใช้ เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

ตัวแปรคืออะไร

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

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

การประกาศและกำหนดค่าตัวแปร

หากต้องการสร้างตัวแปรใน Bash เพียงกำหนดค่าให้กับชื่อที่ต้องการ ไม่จำเป็นต้องใช้คำสำคัญพิเศษอย่าง var หรือ let

  • ใช้รูปแบบไวยากรณ์ VARIABLE_NAME=value
  • สำคัญ: อย่าเว้นวรรคก่อนหรือหลังเครื่องหมาย =
  • ค่าที่กำหนดอาจเป็นข้อความ (สตริง) หรือตัวเลข

ลองกำหนดค่าบางส่วนกัน:

#!/bin/bash

# Assigning a string
MY_NAME="CoddyKit"

# Assigning a number
LESSON_NUMBER=2

echo "Name: $MY_NAME"
echo "Lesson: $LESSON_NUMBER"

การเข้าถึงค่าของตัวแปร

เมื่อประกาศตัวแปรแล้ว คุณสามารถเข้าถึงค่าของตัวแปรได้โดยใส่เครื่องหมาย $ ไว้หน้าชื่อ วิธีนี้จะบอกให้ Bash แทนที่ชื่อตัวแปรด้วยค่าที่เก็บไว้

ตัวอย่างเช่น หากมี MY_VAR="Hello" คำสั่ง echo $MY_VAR จะแสดงผลเป็น "Hello"

#!/bin/bash

CITY="New York"
TEMPERATURE=75

echo "The city is $CITY."
echo "The temperature is $TEMPERATURE degrees."

# You can also enclose in curly braces for clarity (optional)
echo "It's ${TEMPERATURE}F in ${CITY}."

กฎการตั้งชื่อตัวแปร

ชื่อตัวแปรที่ดีช่วยให้เข้าใจสคริปต์ได้ง่ายขึ้น ต่อไปนี้คือกฎและแนวทางปฏิบัติที่ควรทราบ:

  • ชื่อประกอบด้วยตัวอักษร (a-z, A-Z) ตัวเลข (0-9) และขีดล่าง (_) ได้
  • ชื่อ ต้องขึ้นต้นด้วยตัวอักษรหรือขีดล่าง
  • ชื่อตัวแปร แยกแยะตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ (myVar แตกต่างจาก myvar)
  • โดยทั่วไปจะใช้ ALL_CAPS สำหรับตัวแปรสภาพแวดล้อมและค่าคงที่ของสคริปต์ ส่วนตัวแปรภายในสคริปต์มักใช้ mixedCase หรือ snake_case

ตัวแปรแบบอ่านอย่างเดียว

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

เมื่อตั้งค่าตัวแปรเป็น readonly แล้ว คุณจะกำหนดค่าใหม่ให้ตัวแปรนั้นไม่ได้ หากพยายามทำเช่นนั้น จะเกิดข้อผิดพลาด

#!/bin/bash

APP_VERSION="1.0.0"
readonly APP_VERSION

echo "App Version: $APP_VERSION"

# Uncommenting the next line would cause an error:
# APP_VERSION="1.0.1"
# echo "New App Version: $APP_VERSION"

ทำให้สคริปต์โต้ตอบกับผู้ใช้

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

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

คำสั่ง 'read'

คำสั่งหลักสำหรับรับข้อมูลจากผู้ใช้คือ read เมื่อเรียกใช้ read สคริปต์จะหยุดชั่วคราวและรอให้ผู้ใช้พิมพ์ข้อความแล้วกด Enter

จากนั้นข้อความที่ผู้ใช้ป้อนจะถูกเก็บไว้ในตัวแปรที่คุณระบุ

#!/bin/bash

echo "Please enter your name:"
read USER_NAME

echo "Hello, $USER_NAME! Welcome to CoddyKit."

เพิ่มข้อความแจ้งด้วย 'read -p'

ตัวอย่างก่อนหน้านี้ใช้งานได้ แต่ต้องใช้สองบรรทัด คือบรรทัดหนึ่งสำหรับข้อความแจ้งจาก echo และอีกบรรทัดสำหรับ read คุณสามารถรวมทั้งสองคำสั่งเข้าด้วยกันได้โดยใช้ตัวเลือก -p (ข้อความแจ้ง) กับ read

วิธีนี้ทำให้การโต้ตอบของสคริปต์เป็นระเบียบและตรงไปตรงมามากขึ้น

#!/bin/bash

read -p "What is your favorite animal? " ANIMAL

echo "Oh, so you like $ANIMAL! That's cool."

ซ่อนข้อมูลป้อนเข้าด้วย 'read -s'

สำหรับข้อมูลสำคัญ เช่น รหัสผ่าน คุณคงไม่ต้องการให้ข้อมูลที่ผู้ใช้ป้อนแสดงบนหน้าจอ ตัวเลือก -s (เงียบ) ของ read จะระงับการแสดงผลขณะที่ผู้ใช้พิมพ์

หลังจากใช้ read -s แนวทางที่ดีคือเพิ่มคำสั่ง echo เพื่อพิมพ์บรรทัดใหม่ มิฉะนั้นข้อความแจ้งถัดไปอาจปรากฏในบรรทัดเดียวกับข้อมูลที่ถูกซ่อน

#!/bin/bash

read -sp "Enter your secret passphrase: " PASSPHRASE
echo # This adds a newline after the hidden input

echo "Passphrase received (not displayed for security)."

ตรวจสอบอย่างรวดเร็ว: ตัวแปรและข้อมูลป้อนเข้า

พิจารณาสคริปต์ Bash ต่อไปนี้:

#!/bin/bash

FAVORITE_FOOD="Pizza"
read -p "What's your favorite drink? " DRINK

echo "I like $FAVORITE_FOOD and $DRINK!"

ทบทวน: ตัวแปรและข้อมูลป้อนเข้าจากผู้ใช้

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

  • ตัวแปรใช้เก็บค่าด้วย NAME=value
  • เข้าถึงค่าของตัวแปรด้วย $NAME
  • readonly ทำให้ตัวแปรเป็นค่าคงที่
  • คำสั่ง read ใช้รับข้อมูลป้อนเข้าจากผู้ใช้
  • ใช้ read -p "Prompt" สำหรับข้อความแจ้งในบรรทัดเดียวกัน
  • ใช้ read -s สำหรับข้อมูลสำคัญที่ไม่ต้องการแสดงผล

เครื่องมือเหล่านี้มีความสำคัญอย่างยิ่งต่อการสร้างสคริปต์ที่ยืดหยุ่นและใช้งานง่าย

คำถามที่พบบ่อย

บทเรียน “ตัวแปรและอินพุตจากผู้ใช้” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ตัวแปรและอินพุตจากผู้ใช้” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ตัวแปรและอินพุตจากผู้ใช้”

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

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “ตัวแปรและอินพุตจากผู้ใช้” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม

ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. สคริปต์ Bash แรกและ Shebang
  2. ตัวแปรและอินพุตจากผู้ใช้
  3. คำสั่งแบบมีเงื่อนไข (if, else, elif)
  4. การทำงานกับอาร์เรย์ใน Bash
← กลับไปที่ DevOps Bootcamp