linux中的局部变量

时间:2016-08-10 02:54:25

标签: linux subshell

当我们导出在当前shell中声明的局部变量时,它是否会传递给将来的子shell,进程,子进程或将来的子进程? 我被告知它会被传递给未来的子弹。这是对的吗?

2 个答案:

答案 0 :(得分:2)

试试吧?

$ export foo=bar
$ bash
$ echo $foo
bar
$ bash
$ echo $foo
bar
$ exit
$ exit
$

tl;博士:是的。

答案 1 :(得分:1)

这个简单的测试将自己回答:

$ VAR1="Hello, World!"
$ echo "${VAR1}"
Hello, World!
$ bash
$ echo "${VAR1}"

$ export VAR1="Hello, World!"
$ echo "${VAR1}"
Hello, World!
$ bash
$ echo "${VAR1}"
Hello, World!
$ 

打破它:

没有出口......

$ VAR1="Hello, World!"
$ echo "${VAR1}"
Hello, World!
$ bash
$ echo "${VAR1}"

$

...导致VAR1未在孩子中定义。

使用export ...

$ export VAR1="Hello, World!"
$ echo "${VAR1}"
Hello, World!
$ bash
$ echo "${VAR1}"
Hello, World!
$ 

...导致在孩子中定义VAR1