เคสนี้เกิดขึ้นหลังจากที่เราเขียน bash script แล้วนำไปรันจริง ปรากฏว่า script นั้นสามารถรันบนเครื่อง UAT ได้ อย่างไม่มีปัญหาอะไร แต่เมื่อนำ script นั้นไปรันบนเครื่อง Production กลับไม่มีอะไรเกิดขึ้น
สาเหตุที่พบ คือ การสั่งรัน command ใน script ที่เราเขียนนั้น เราเรียก command นั้นเลย โดยไม่ได้ใส่เป็น full path ของ command เอาไว้ มีความเป็นไปได้ว่า script อาจจะไม่สามารถหาที่อยู่ของ command นั้นได้
วิธีแก้ไข คือ เปลี่ยน command ที่ถูกเรียกใช้ใน script เป็น full path ทั้งหมด จึงทำให้ script นี้สามารถรันบนเครื่อง Production ได้ตามปกติ
คำแนะนำ เพื่อหลีกเลี่ยงจากเคสข้างบน เราแนะนำให้ใช้ full path ของ command ทั้งหมด ถ้าหากไม่ทราบ full path อาจจะใช้ which command ช่วย (สามารถอ่าน)
No comments:
Post a Comment