เพื่อหลีกเลี่ยงการพิมพ์พา ธ สัมบูรณ์ไปยังคำสั่งเชลล์แนะนำ$PATH
ตัวแปรสภาพแวดล้อมแต่ละไดเรกทอรีจะถูกคั่นด้วย:
และการค้นหาจะทำจากซ้ายไปขวา cron
มักจะล้างสภาพแวดล้อมทั้งหมดรวมถึง$PATH
ตัวแปรนี้ ดังนั้นสคริปต์อาจทำงานแตกต่างกันใน cron ของคุณเปรียบเทียบกับพฤติกรรมในเชลล์
ใช้เส้นทางที่แน่นอน
เรียกใช้which db2
ในฐานะdb2inst1
ผู้ใช้เพื่อรับเส้นทางแบบเต็มสำหรับdb2
โปรแกรม หากเอาต์พุตคือ/usr/bin/db2
คำสั่ง cron ของคุณจะมีลักษณะดังนี้:
/usr/bin/db2 connect to myDB2
ตั้งค่าตัวแปร PATH
เรียกใช้echo "$PATH"
ในฐานะdb2inst1
ผู้ใช้เพื่อรับ$PATH
ตัวแปรและตรวจสอบว่าตัวแปรนี้มีอยู่ในสคริปต์ cron ของคุณด้วย ตัวอย่างเช่นถ้าผลลัพธ์เป็น/usr/local/bin:/usr/bin:/bin
คุณจะใส่บรรทัดถัดไปในด้านบนของเชลล์สคริปต์ของคุณ:
export PATH="/usr/local/bin:/usr/bin:/bin"