Tôi đã đặt biến môi trường của mình bằng cách sử dụng /etc/profile
:
export VAR=/home/userhome
Sau đó, nếu tôi làm điều echo $VAR
đó cho thấy/home/userhome
Nhưng khi tôi đặt tham chiếu đến biến này vào /etc/init.d/servicename
tệp, nó không thể tìm thấy biến này. Khi tôi chạy service servicename status
bằng /etc/init.d/servicename
tệp có nội dung sau:
case "$1" in
status)
cd $VAR/dir
;;
esac
nó nói rằng /dir: No such file or directory
Nhưng nó hoạt động nếu tôi chạy /etc/init.d/servicename status
thay vìservice servicename status
Làm thế nào tôi có thể làm cho dịch vụ unix thấy các biến môi trường?
rc
trực tiếp tập lệnh Hệ thống 5 cũng không hoạt động theo cách đó trên các hệ điều hành hệ thống, vì tất cả các lệnh của tập lệnh được chuyển thành các yêu cầu củasystemctl
một móc ẩn.