ฉันจะรันคำสั่ง 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 จะได้รับสภาพแวดล้อมที่คุณต้องการอย่างไร