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

Reply via email to