Dizem que variáveis de ambiente são herdadas em processos filhos, mas variáveis de shell não. No entanto, o teste a seguir mostra que variáveis de shell são vistas no processo filho, assim como variáveis de ambiente. Qual é a diferença?
> bash --version
GNU bash, version 3.2.39(1)-release (x86_64-suse-linux-gnu)
Copyright (C) 2007 Free Software Foundation, Inc.
> export TEST="ENV_TEST" #env var
> sh -c "echo \$TEST"
ENV_TEST
> TEST="SHELL_TEST" #shell var
> sh -c "echo \$TEST" #shell var is seen in child process
SHELL_TEST