~derf / projects / envstore v2.1
dark mode

This project is no longer being developed. There will be no updates and no security fixes. This page serves archival purposes only.

envstore is a program for sharing environment variables between various shells or commands.

For instance, assume you have a laptop, a music player running mpd and some mpd-related key bindings in your window manager.
However, when you started your window manager, you did not know of the mpd, and now you don't want to restart it just to be able to use your keybindings.
With envstore, this is rather trivial:

In one shell:

envstore save MPD_HOST remnant

Then, configured as a keybinding in your window manager:

envify mpc next

envify is a simple a shell script which loads the environment saved with envstore and then executes the commands given to it. So, pressing $keycombo will execute mpc next with MPD_HOST set to remnant and therefore play the next track on the mpd on 'remnant'.

Of course, it is also possible to simply save/restore parameters between shells:

 > envstore save foo bar
# in another shell
 > echo $foo

 > eval $(envstore eval)
 > echo $foo

envstore v2.1

envstore-2.1.tar.bz2 (signature)

  • Fix space handling for envify arguments
  • Add support for --help/--version

envstore v2.0.4

envstore-2.0.4.tar.bz2 (signature)

  • Preserve leading space in saved variables
  • Improved some error messages

envstore v2.0.3

envstore-2.0.3.tar.bz2 (signature)

  • Fix a bug in the Makefile (the test script was still run with zsh)

envstore v2.0.2

envstore-2.0.2.tar.bz2 (signature)

  • Rewrite test script in sh
  • Fix a bug when outputting parameters with empty values (envstore used to print random binary data after the value)

envstore v2.0.1

envstore-2.0.1.tar.bz2 (signature)

  • Remove Bloat[tm] from the source
  • Use -mdoc macros in the manuals
  • Increase maximum length of parameter name/value

envstore v2.0

envstore-2.0.tar.bz2 (signature)

  • Rewrite in C
  • Renamed envstore show to envstore list
  • Newlines in variable values are no longer supported
  • Introduces single-character arguments (envstore s == envstore save etc)

envstore v1.2

envstore-1.2.tar.bz2 (signature)

  • Use Storable instead of Simplestore
  • Use ENVSTORE_FILE parameter to set where the store is saved

envstore v1.1

envstore-1.1.tar.bz2 (signature)

  • Use Simplestore to save the environment
  • Various code and documentation improvements
  • The store file is now saved as /tmp/envstore-UID

envstore v1.0

envstore-1.0.tar.bz2 (signature)

  • save, show, eval, remove and clear parameters
  • basic security checks
  • Umlauts, spaces etc. work fine