# How to set environment variables in bash and zsh

> Learn how to set environment variables in Bash and zsh with export, how to persist them in .bashrc or .zshrc, and the env prefix trick for the Fish shell.

Author: [Flavio Copes](https://flaviocopes.com/about/) | Published: 2017-08-27 | Updated: 2018-12-30 | Topics: [CLI](https://flaviocopes.com/tags/cli/) | Canonical: https://flaviocopes.com/shell-environment-variables/

The operation is the same on both [**Bash**](https://flaviocopes.com/bash/) and **zsh**, with the caveat that to persist them you need to use `.bashrc` and `.zshrc`, respectively.

Setting them in the shell is the same:

```bash
$ export VARIABLE=something
```

To make sure it was set, type

```
$ $VARIABLE
```

If you edit a dot file, to apply the changes to the current shell use `source .dotfile`.

This works for Bash and Zsh.

With Fish you prepend `env`:

```fish
env API_KEY=123123 node app.js
```
