---
name: "envstore"
section: "1"
platform: "linux"
package: "envstore"
version: "2.1-7"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/envstore"
---

# envstore(1)

save and restore environment variables

## NAME

**envstore** – save and restore environment variables

## SYNOPSIS

**envstore** *command* \[*args* *...*\]

## DESCRIPTION

**envstore** can save and restore environment variables, thus transferring them between different shells.

*command* must be one of

- **clear**

  Forget all stored variables

- **eval**

  Produce shell code for evaluation, restoring all saved variables

- **list**

  List saved variables in better readable format

- **save** *variable* \[*value*\]

  Save *variable* either with its current shell value or with *value*

- **rm** *variable*

  Remove *variable* from store

Note: Only the first character of *command* is checked, so **envstore** **e** instead of **envstore** **eval**, **envstore** **c** for **envstore** **clear**, etc., are also valid.

For convenience, the options **--version** and **--help** are also supported.

## ENVIRONMENT

- ENVSTORE\_FILE

  The file in which the environment parameters are stored, */tmp/envstore-**EUID* by default,

## LIMITATIONS

Variable names or values must not contain null bytes or newlines.

Due to limitations imposed by most shells, it is not possible to save parameters containing more than one consecutive whitespace. **envstore** will save and display them correctly, but unless you do IFS trickery, your shell will not be able to load them.

The current maximum length (in bytes) is 255 bytes for the variable name and 1023 bytes for its content.

## AUTHOR

**envstore** was written by Daniel Friesel ⟨derf@derf.homelinux.org⟩.

Original idea and script by Maximilian Gass ⟨mxey@ghosthacking.net⟩.

## SEE ALSO

[envify(1)](/envify/1.md)
