Why do I need to source bash_profile every time

I have installed Hadoop and every time I want to run it, first I have to do this:

source ~/.bash_profile

or it won't recognize the command hadoop

Why is that?

I am on OSX 10.8


  • Now that we've narrowed down the problem:

    1. Run ps -p $$ at the command line to check if you are, in fact, using a bash shell.
    2. Realize that you are in zsh, which means you should be editing your profile in .zshrc.
    3. Copy the offending lines from .bash_profile to .zshrc, OR
    4. Modify your .zshrc to directly source your .bash_profile.

    UPDATE: Do what @TC1 mentions in the comments and keep the shell-specific code in each shell's own profile, and from those profiles, only source shell-agnostic code.