ฉันได้ตั้งค่าตัวแปรสภาพแวดล้อมของฉันโดยใช้/etc/profile
:
export VAR=/home/userhome
ถ้าอย่างนั้นฉันecho $VAR
ก็แสดงให้เห็น/home/userhome
แต่เมื่อฉันใส่การอ้างอิงตัวแปรนี้ลงใน/etc/init.d/servicename
ไฟล์มันไม่สามารถหาตัวแปรนี้ เมื่อฉันเรียกservice servicename status
ใช้/etc/init.d/servicename
ไฟล์ที่มีเนื้อหาดังต่อไปนี้:
case "$1" in
status)
cd $VAR/dir
;;
esac
มันบอกว่า /dir: No such file or directory
แต่มันใช้งานได้ถ้าฉันวิ่ง/etc/init.d/servicename status
แทนservice servicename status
ฉันจะทำให้ยูนิกซ์เห็นตัวแปรสภาพแวดล้อมได้อย่างไร?
rc
สคริปต์โดยตรงยังไม่ทำงานวิธีบนระบบปฏิบัติการ systemd ว่าเป็นสวดทุกสคริปต์ที่จะกลายเป็นสวดของsystemctl
โดยเบ็ดที่ซ่อนอยู่