การประมวลผลอาร์กิวเมนต์เดี่ยวทำได้อย่างไร?
นอกจาก $@ แล้ว
เชลล์ยังให้ใช้ $1, $2 และอื่น ๆ เพื่ออ้างอิงพารามิเตอร์บรรทัดคำสั่งแต่ละตัวได้โดยตรง
สามารถนำไปใช้เขียนคำสั่งที่ดูเรียบง่ายและเป็นธรรมชาติมากขึ้น
ตัวอย่างเช่น สร้างสคริปต์ชื่อ column.sh สำหรับเลือกคอลัมน์เดียวจากไฟล์ CSV
โดยให้ผู้ใช้ระบุชื่อไฟล์เป็นพารามิเตอร์แรก และระบุคอลัมน์เป็นพารามิเตอร์ที่สอง:
cut -d , -f $2 $1
จากนั้นรันด้วยคำสั่ง:
bash column.sh seasonal/autumn.csv 1
สังเกตว่าสคริปต์ใช้พารามิเตอร์ทั้งสองในลำดับที่สลับกัน
สคริปต์ get-field.sh ถูกออกแบบมาให้รับชื่อไฟล์,
หมายเลขแถวที่ต้องการเลือก,
หมายเลขคอลัมน์ที่ต้องการเลือก,
แล้วแสดงเฉพาะฟิลด์นั้นจากไฟล์ CSV
ตัวอย่างเช่น:
bash get-field.sh seasonal/summer.csv 4 2
ควรเลือกฟิลด์ที่สองจากบรรทัดที่ 4 ของ seasonal/summer.csv
ควรใส่คำสั่งใดลงใน get-field.sh เพื่อให้ได้ผลลัพธ์นั้น?
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Introduction to Shell
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำจริง
เปลี่ยนทฤษฎีให้เป็นการลงมือทำด้วยแบบฝึกหัดเชิงโต้ตอบหนึ่งในของเรา
เริ่มแบบฝึกหัด