Run any program with environment read from file
Project description
envirun
Load environment from file and run any program with this loaded environment.
This is useful if you want to easily run program with different environment, or troubleshoot systemd services which reads environment from /etc/default/ files.
Installation
pip3 install envirun
Example Usage
/tmp/x.sh:
#!/bin/sh
echo X: $X
echo $*
/tmp/x1.env: X=1
/tmp/x2.env: X=2
$ envirun.py /tmp/x1.env /tmp/x.sh some args
X: 1
some args
$ envirun.py /tmp/x2.env /tmp/x.sh some other args --foo --bar
X: 2
some other args --foo --bar
Source code
See environ.py, it's very simple. Main code is just three lines:
load_dotenv(dotenv_path=sys.argv[1], override=True)
rc = subprocess.run(sys.argv[2:])
sys.exit(rc.returncode)
More details
Environment files are loaded using dotenv load_dotenv(), overriding existing env variables. Environment lines may start with export
. See dotenv documentation if you want more details.
See also similar project: envrun
How to achieve same result without envirun in bash (with few more commands):
$ set -a
$ . /tmp/x1.env # Load environment from /tmp/x1.env file
$ set +a
$ /tmp/x.sh some args
X: 1
some args
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file envirun-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: envirun-0.0.1-py3-none-any.whl
- Upload date:
- Size: 2.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53b17ca531db751d130b9b147d3e5a482a60c93f259b13adda0722bb4e497886 |
|
MD5 | 5a503a5ff18012d0a65952e7f85817e3 |
|
BLAKE2b-256 | 19daf30a876660e1a3126213c82d7351ca454873e85e47e1389191a9f6cc44b8 |