मुझे लगता है कि आपकी समस्या पर्यावरण चर की सामग्री में जगह के कारण है। सिस्टमड डॉक्स से उदाहरणों को देखते हुए , एक असाइनमेंट को एक स्ट्रिंग होना चाहिए:
उदाहरण:
Environment="ONE=one" 'TWO=two two'
ExecStart=/bin/echo $ONE $TWO ${TWO}
इस पर अमल होगा / bin / चार तर्क के साथ गूंज: one
, two
, two
, और two two
।
उदाहरण:
Environment=ONE='one' "TWO='two two' too" THREE=
ExecStart=/bin/echo ${ONE} ${TWO} ${THREE}
ExecStart=/bin/echo $ONE $TWO $THREE
गूंज में यह परिणाम दो बार बुलाया जा रहा है, तर्क के साथ पहली बार
'one'
, 'two two' too
,
, और तर्क के साथ दूसरी बार
one
, two two
, too
।
मैंने निम्नलिखित सेवा के साथ इसका परीक्षण किया (पूरे असाइनमेंट के उद्धरणों पर ध्यान दें):
[Unit]
Description=My Daemon
[Service]
Environment='CATALINA_OPTS=-Dappserver.home=/var/lib/archiva/apache-tomcat-current -Dappserver.base=/var/lib/archiva/apache-tomcat-current'
ExecStart=/bin/echo ${CATALINA_OPTS}
[Install]
WantedBy=multi-user.target
और इसमें वांछित उत्पादन मिला journalctl
:
Apr 26 08:19:29 laptop echo[28439]: -Dappserver.home=/var/lib/archiva/apache-tomcat-current -Dappserver.base=/var/lib/archiva/apache-tomcat-current
बेशक, इसके EnvironmentFile
बजाय उपयोग करना सरल होगा । Environment
निम्नलिखित के साथ प्रतिस्थापित करने से वांछित परिणाम मिलता है:
EnvironmentFile=/tmp/foo
कहाँ /tmp/foo
निहित (उद्धरणों की कमी पर ध्यान दें):
CATALINA_OPTS=-Dappserver.home=/var/lib/archiva/apache-tomcat-current -Dappserver.base=/var/lib/archiva/apache-tomcat-current
CATALINA_OPTS
मेंsystemd
अपाचे के लिए पर्यावरणtomcat
7.0.61) का उपयोगEnvironmentFile
वास्तव में जाने का रास्ता है। धन्यवाद!