systemd 中仅设置了某些环境变量

systemd 中仅设置了某些环境变量

我有一个启动 JupyterHub 的 systemd 文件:

[Unit]
Description=Jupyterhub

[Service]
User=root
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/spark/bin:/opt/hadoop/bin"
Environment="HADOOP_HOME=/opt/hadoop"
Environment="JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64"
ExecStart=/usr/local/bin/jupyterhub -f /opt/jupyter/jupyterhub_config.py

[Install]
WantedBy=multi-user.target

但是,只设置了变量,和的PATH设置被忽略。HADOOP_HOMEJAVA_HOME

我错过了什么?

答案1

不管你信不信,这可能是因为你使用了引号。Systemd 是一款罕见的软件,它可以处理多个等号而不会造成严重混乱(正如你所期望的那样)。

[Service]
Environment=HADOOP_HOME=/opt/hadoop
Environment=JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

它没有就像它会工作一样,但是我的系统上有这样写的单元,而且它们可以工作。

相关内容