Tôi tò mò liệu tôi có thể in ra ExecStart/ExecStop
dòng lệnh mở rộng hoàn toàn không . Xem xét ví dụ sau:
ExecStart=/usr/bin/java $OPTS_COMMON $OPTS $OPTS_LOG $OPTS_DEBUG some.class.Start --param1 ${PARAM1} --param2 ${PARAM2}
Tôi đang có các dòng lệnh khá dài với rất nhiều biến môi trường liên quan. Nếu một số biến trở thành sai (ví dụ: bằng cấu hình thả vào), dịch vụ có thể không bắt đầu. Tuy nhiên tôi không thấy dòng mở rộng hoàn toàn với envs được thay thế ở bất cứ đâu và tôi đấu tranh để tìm ra cái gì sai.
Tôi không gặp may trong việc này và cho đến nay khả năng duy nhất tôi tìm thấy là sửa đổi tệp đơn vị để chạy /usr/bin/echo
thay vì chính dịch vụ. Nhưng đó là một chút mệt mỏi. Hoặc thậm chí nhiều giải pháp khó chịu hơn - kiểm tra từng biến môi trường từng cái một.
Có cách nào để buộc systemd chỉ cho tôi những gì thực sự cố gắng chạy không?