Get environment variables from the shell
npm install shell-env> Get environment variables from the shell)
Especially useful for Electron apps as GUI apps on macOS doesn't inherit the environment variables defined in your dotfiles (.bash_profile/.zshrc/etc).
``sh`
npm install shell-env
`js
import {shellEnv} from 'shell-env';
console.log(await shellEnv());
//=> {TERM_PROGRAM: 'Apple_Terminal', SHELL: '/bin/zsh', ...}
console.log(await shellEnv('/bin/bash'));
//=> {TERM_PROGRAM: 'iTerm.app', SHELL: '/bin/zsh', ...}
`
> [!NOTE]
> For Bash, it reads .bash_profile, but not .bashrc.
> [!NOTE]
> If your default shell is a non-POSIX shell (e.g., Nushell), it will fall back to /bin/zsh or /bin/bash.
> [!NOTE]
> It disables the oh-my-zsh tmux plugin auto-start by setting ZSH_TMUX_AUTOSTARTED and ZSH_TMUX_AUTOSTART=false so the shell does not launch tmux while capturing environment variables.
Return a promise for the environment variables.
Returns the environment variables.
#### shell
Type: string`\
Default: User default shell
Shell to read the environment variables from.
- shell-path - Get the $PATH from the shell
- fix-path - Fix the $PATH on macOS when run from a GUI app
- shell-history - Get the command history of the user's shell