Si dice che le variabili di ambiente siano ereditate nei processi secondari, ma non le variabili di shell. Tuttavia, il seguente test mostra che le variabili di shell sono viste nel processo figlio proprio come variabili di ambiente. Qual è la differenza?
> 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