I'm not 100% clear what you mean by this "bashrc is 'source'd after each edit". Do you mean you do something like this
- start shell
- edit .bashrc, after which there are some 'export PATH="$PATH:something"' lines in it.
- source .bashrc
- check PATH contents
- edit again
- source .bashrc again
If you are doing this all in the same shell (i.e. not logging out / re-starting your terminal program/session), then it's clear.
The command
Code:
export PATH="$PATH:more"
sets the PATH to the existing value + ":more". Say your PATH starts out as "mypath:theoriginal"... after one execution of the export command the PATH would be "mypath:theoriginal:more". After another execution it would be "mypath:theoriginal:more:more" etc.
Sourceing the .bashrc simply feeds the contents of that file into the exitsing instance of the shell, so each time youo do it, you are appending more stuff to the PATH.
You should find that when you start a new shell (e.g. open a new terminal window or log out and log back in again), it will have the default PATH as set in the global shell config files (/etc/profile and friends), plus any customisations in your .bashrc).
One thing to note - be careful editing your .bashrc. If you make a typo which causes the shell to exit for any reason, you'll not be able to log in, because the shell will start and immediately quit! To protect against this, when editing it, always keep a window open which you can edit the .bashrc with while opening a new session to test your changes. The .bashrc will be read by the new session, but the existing session will stay unaltered while you test the new file... if you find a problem you can still edit the file in the original session.
The caution applies less to sessions in graphical environments that when you just have console access since the .bashrc probably won't affect a running X-Windows session, and you'll probably be able to launch editors and so on without having to start a shell which reads the [potentially broken] .bashrc.