Se dice que las variables de entorno se heredan en los procesos secundarios, pero las variables de shell no. Sin embargo, la siguiente prueba muestra que las variables de shell se ven en el proceso secundario al igual que las variables de entorno. ¿Cuál es la diferencia?
> 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