A command-line environment variable manager for the current shell session. It works with bash and Windows cmd.
Envo offers several commands to view and change environment variables and also to execute simple scripts composed of those commands, thus allowing the same script for a particular env-var configuration on all supported platforms.
Envo is still an alpha version. Not all features are complete and not everything is thoroughly tested.
A screenshot of envo path
which displays the path in a "pretty" way. Note the tags, D
for an entry which is duplicated, and N
for an entry which is a non-existing path
Use envo with envo <command> <args>
in your terminal
These are select envo commands. For a full list, check the command reference
show <name> ...
- show values of environment variables in a "pretty" formatset <name> = [<value>]
- set a value to an environment variableunset <name> ...
- unset (delete) an environment variablslist <name> add <value>
- add an element to an list environment variable (such asPATH
)clean <name>
- cleans environment variables. Unsets empty strings, non-existing paths, empty lists. Removes duplicates from lists and non-existing paths from path lists.run <script>
- runs a simple script of commands. See the script reference on how to write scripts
- You need a Ruby interpeter version 2.5 or higher
- To check, type
ruby --version
in your terminal
- To check, type
- Install the ruby gem
$ gem install envo
- Install the envo command
$ envo-install
- If you're using bash, after the last step you'll need to either restart the session, or source the file in which envo was installed (it will be logged after the installation)
After this you can type
$ envo --help
... and see the commands and options supported by envo in your terminal.
Issues and pull requests are welcome.
Part of why I created this tool was to refresh my ruby-foo. I hadn't done much ruby programming for years before this. Because of this, envo is not great (not terrible) ruby code. I would welcome PRs or issues which improve the code style and introduce good practices and dev-tooling into the repo.
Please take a look at the implementation notes and the roadmap if you want to contribute.
This software is distributed under the MIT Software License. See accompanying LICENSE file or copy here.
Copyright © 2020-2024 Borislav Stanimirov