ฉันแค่ต้องการเรียกใช้คำสั่ง (จริง ๆ แล้วมันเป็นเชลล์สคริปต์) จากไดเรกทอรีที่กำหนดเป็นงาน cron cdฉันสามารถเรียกใช้มันเพื่อให้มันถูกกำหนดเป็นไดเรกทอรีที่กำหนดโดยไม่ต้องใช้
ฉันแค่ต้องการเรียกใช้คำสั่ง (จริง ๆ แล้วมันเป็นเชลล์สคริปต์) จากไดเรกทอรีที่กำหนดเป็นงาน cron cdฉันสามารถเรียกใช้มันเพื่อให้มันถูกกำหนดเป็นไดเรกทอรีที่กำหนดโดยไม่ต้องใช้
คำตอบ:
คำถามของคุณมีเหตุผลเล็กน้อย cdใช้ หากคุณขอคำตอบที่จะไม่ใช้cdเพราะคุณได้ลองแล้วมันใช้งานไม่ได้อาจเป็นไปได้ว่าคุณไม่ได้ป้อนอย่างถูกต้องใน crontab
วิธีที่ง่ายที่สุดคือการเขียนเชลล์สคริปต์ขนาดเล็กที่จะ cd และรันภารกิจหลักของคุณจากนั้นให้สคริปต์กับ cron
&&) แต่คุณยังสามารถเขียนสคริปต์แยกต่างหากที่มีคำสั่งทั้งหมดและเพียงใส่เส้นทางไปยังสคริปต์ใน cron เช่น Daenyth แนะนำ สคริปต์ของคุณสามารถทำสิ่งที่ชอบอ่านไดเรกทอรีจากแฟ้มการกำหนดค่าที่คุณชอบ - จุดที่เป็น cdแต่คุณต้องการที่จะได้รับชื่อไดเรกทอรีในสคริปต์ของคุณมันเป็นข้ออ้างที่จะไม่ใช้ไม่มี
เพียงระบุเส้นทางไปยังสคริปต์ ไม่จำเป็นต้องcd:
0 12 * * * /path/to/script args
หากสคริปต์ของคุณค้นหาไฟล์.คุณจะต้องใช้cd:
0 12 * * * cd /some/dir && /path/to/script args
&&เช่นเดียวกับในคำตอบ @WillSheppard ลิงก์ไปยังจะดีกว่า;เพราะ&&เพียงเรียกใช้คำสั่งถัดไปหากคำสั่งก่อนหน้านี้ประสบความสำเร็จ