As is often the case, the answer is "it depends". All of the shells (or at least all that I have used) provide a method for 'source'ing a script -- run in the current environment, do not spiel off a separate process; 'source', '.', 'run xxx opt=nosep ', etc. It depends on the shell you are using, not the language.