据说环境变量是在子进程中继承的,而shell变量不是。但是,以下测试表明,在子进程中可以看到shell变量,就像在环境变量中一样。有什么区别?
> 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