ฉันจะรันคำสั่ง cron ด้วยตัวแปรสภาวะแวดล้อมที่มีอยู่ได้อย่างไร?
ถ้าฉันอยู่ที่พรอมต์เชลล์ฉันสามารถพิมพ์echo $ORACLE_HOMEและรับเส้นทาง ~/.profileนี้เป็นหนึ่งในตัวแปรด้านสิ่งแวดล้อมของฉันที่ได้รับการตั้งค่าในของฉัน อย่างไรก็ตามดูเหมือน~/.profileว่าไม่ได้โหลดสคริปต์ fron cron และสคริปต์ของฉันล้มเหลวเนื่องจาก$ORACLE_HOMEไม่ได้ตั้งค่าตัวแปร
ในคำถามนี้ผู้เขียนกล่าวถึงการสร้าง~/.cronfileโปรไฟล์ที่ตั้งค่าตัวแปรสำหรับ cron แล้วเขาก็หาวิธีแก้ปัญหาเพื่อโหลดคำสั่ง cron ทั้งหมดของเขาลงในสคริปต์ที่เขาเก็บไว้ใน~/Cronไดเรกทอรีของเขา ไฟล์เช่น~/.cronfileเสียงดูเหมือนเป็นความคิดที่ดี แต่คำตอบที่เหลือดูเหมือนจะยุ่งยากเล็กน้อยและฉันก็หวังว่าจะมีคนบอกวิธีที่ง่ายกว่าในการได้รับผลลัพธ์เดียวกัน
ฉันคิดว่าเมื่อเริ่มต้นสคริปต์ของฉันฉันสามารถเพิ่มสิ่งที่ชอบsource ~/.profileแต่ที่ดูเหมือนว่ามันจะซ้ำซ้อน
ดังนั้นฉันจะทำให้สคริปต์ cron ของฉันโหลดตัวแปรจากโปรไฟล์ interactive-shell ได้อย่างไร
su -lเพื่อตั้งค่าสภาพแวดล้อมการเข้าสู่ระบบปกติรวมถึง $ PATH สำหรับผู้ใช้รูทหรือผู้ใช้รายอื่น
source ~/.profileโปรแกรมซ้ำซ้อนเป็นอย่างไร โปรแกรมสืบทอดสภาพแวดล้อมจากโปรแกรมที่เรียกใช้ หากโปรแกรมการโทรนั้นไม่ใช่เชลล์ของคุณดังนั้นโปรแกรม decendant จะได้รับสภาพแวดล้อมที่คุณต้องการอย่างไร