Bash or ZSH add executable
Table of contents
For Bash:
~/.bashrc ~/.bash_profile
For ZSH:
~/.zshrc ~/.zshenv
What is the difference between .bash_profile and .bashrc?
.bash_profile
is executed for login shells, while .bashrc
is executed for interactive non-login shells.
When you login (type username and password) via console, either sitting at the machine, or remotely via ssh: .bash_profile
is executed to configure your shell before the initial command prompt.
But, if you’ve already logged into your machine and open a new terminal window (xterm) then .bashrc
is executed before the window command prompt. .bashrc
is also run when you start a new bash instance by typing /bin/bash
in a terminal.
On OS X, Terminal by default runs a login shell every time, so this is a little different to most other systems, but you can configure that in the preferences.
zsh is extra cool functionality that can be added on your terminal. For zsh .zshrc
resembles .bashrc
and .zshenv
resembles .zshenv
.
Add environment variable or exucutable path to .bashrc or .zshrc
Say we like to add type mysql
in terminal and /usr/local/opt/mysql@5.7/bin/mysql
should be executed. In this case we have to add the path to .bashrc
or .zshrc
as you prefered one.
To do this in terminal type:
echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> ~/.bashrc# For ZSHecho 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> ~/.zshrc
To add environment variable the process is almost the same.
echo 'export NODE_OPTIONS="--max-old-space-size=16384"' >> ~/.bashrc# For ZSHecho 'export NODE_OPTIONS="--max-old-space-size=16384"' >> ~/.zshrc
Activate new configuration
You can simply restart the terminal to activate the new configuration. Otherwise run the following command to activate it instantly.
The question can be paraphased as:
How do I reload .bashrc
or .zshrc
without logging out and back in?
source ~/.bashrcsource ~/.zshrc# or you can use the shorter version of the command:. ~/.bashrc. ~/.zshrc