การเขียนเชลล์สคริปต์อย่างปลอดภัย
(sipb.mit.edu)-
ถ้าเป็นไปได้ อย่าใช้เชลล์ ให้เขียนด้วยอย่าง Python แทน
-
ถ้าจำเป็นต้องใช้จริง ๆ แนะนำ
set -euf -o pipefail
= -e : ถ้ามีแม้แต่บรรทัดเดียวล้มเหลว ให้หยุดทันที
= -u : ถือว่าตัวแปรที่ยังไม่ได้ตั้งค่าเป็นข้อผิดพลาดและออกทันที
= -f : จำกัดการขยายชื่อไฟล์ (globbing)
= -o pipefail : ถ้าเกิดข้อผิดพลาดระหว่างทางใน pipe ให้แสดงข้อผิดพลาดและออกทันทีด้วย -e
-
ใช้เครื่องหมายอัญประกาศให้มาก : ในกรณีส่วนใหญ่ ไม่ใช่
$*,$@แต่เป็น"$@" -
ระวังชื่อไฟล์หรืออาร์กิวเมนต์ที่ขึ้นต้นด้วย
- -
ใช้ ShellCheck เพื่อหาบั๊ก
ยังไม่มีความคิดเห็น