I am trying to pass an environment variable defined in the current shell to one of the `systemd` unit I am writing.

```
DB_URL=databus.dev.mysite.io:8080

```

I am using this in a python script which is running as a service. My `systemd` unit will run this script as a unit making use of the variable for its working.

```
[Unit]
Description=device-CompStatus: Computes device availability status

[Service]
Type=simple    
ExecStart=/usr/bin/bash -c "/usr/bin/python /opt/deviceCompStatus/deviceCompStatusHandler.py"
Restart=always

[Install]
WantedBy=default.target

```

The way am using the variable in Python script would be

```
if os.environ.get('DB_URL') is not None:
    dbEndPoint = "http://" + os.environ['DB_URL']

```

The problem is am not able to use the variable when running the script in `systemd`. I looked up couple of resources [Using environment variables in systemd units](https://coreos.com/os/docs/latest/using-environment-variables-in-systemd-units.html), it says to use assignment under `[Service]` directly as

```
[Service]
Environment=DB_URL=databus.dev.mysite.io:8080

```

As you can see, my `DB_URL` could change depending upon the environment I am deploying my machine, it could be a developer, or a production setup, in which the URLs would vary.

How do I do this dynamically? i.e. pass whatever value available to `DB_URL` to `systemd` environment?

I also tried using the [`EnvironmentFile=`](https://www.freedesktop.org/software/systemd/man/systemd.exec.html#EnvironmentFile=) option to define a file and pass it to service. But the same problem again, my variable could be dynamic and *cannot* be hardcoded.

### Update

After using the option

```
systemctl import-environment DB_URL

```

I am able to see the variable available in the environment of `systemd` which I confirmed by

```
systemctl show-environment
DB_URL=databus.dev.mysite.io:8080
LANG=en_US.UTF-8
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin

```

but still the value is not reflected in the `python` application which I run. Is `os.environ('DB_URL')` a wrong way to access the variable?