I frequently edited the .bashrc file to export new environment variables.

Rather than close the console and start a new one to refresh the env variables, is there a convenient way to refresh?


Within the same window, you can simply type bash to start a new one. This is equivalent to closing the window and re-opening a new one.

Alternatively, you can type source ~/.bashrc to source the .bashrc file.

  • 7
    No need to execute another shell. source is the correct way – Matteo Dec 13 '11 at 6:18
  • 2
    also there is no need to type long word source. you can just type dot instead of it: . ~/.bashrc. – rush Dec 13 '11 at 6:31
  • 4
    @Rush typing source shows the user which command is called. I don't believe in showing the shorthanded commands to new users until they understand what the code is doing. – n0pe Dec 13 '11 at 6:34
  • 10
    note that merely sourcing bashrc is not necessarily equal to a restart of bash. defined variables are not automatically undefined. shell options are not automatically unset. sourcing bashrc only executes what is written in bashrc. it does not rollback any other changes in the environment. starting a new bash session inside the old is also not necessarily equal to a restart of bash, as the new process inherits the environment from the old. – lesmana Dec 13 '11 at 20:57
  • 2
    @MaxMackie Considering how source is a bashism that is longer to type yet offers no advantages over its portable across all shells equivalent, ., I don't see the point of encouraging anyone, new or experienced, to use it. – jw013 Dec 15 '11 at 2:27

Just use

source ~/.bashrc


. ~/.bashrc

In addition to what others have suggested, I have found out that source won't unset the previously assigned environment variables. So, if you want to unset environment variables, you have to do it manually.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.