Peng Yu wrote: > I use bash --noprofile to start a bash session. Since this doesn't > source any profile files, I'd think that no environment variable > should be set. But I still see environment variables set. Are they > inherit from the parent session. Is there a way to start a bash > session without using parent environment variables?
Use the 'env' command with the -i option to start with an empty environment. $ env | wc -l 40 $ env -i env | wc -l 0 But you will almost always want some environment variables. Pass the ones you want on the command line. $ env -i HOME=$HOME PATH=$PATH env | wc -l 2 Here I am confusingly using 'env' both to invoke a command and to be the command invoked but it was the most convenient command to use. When invoked with no arguments 'env' prints the environment. $ env -i HOME=$HOME PATH=$PATH somecommand someargs Bob