เพื่อหลีกเลี่ยงการพิมพ์พา ธ สัมบูรณ์ไปยังคำสั่งเชลล์แนะนำ$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"