我在linux操作系统中打开了两个终端窗口。 在一个窗口中,我输入命令
export a=10
但在另一个窗口中,我输入
echo $a
它什么都没输出,所以为什么它不起作用。提前谢谢。
答案 0 :(得分:3)
导出环境变量时,shell的子进程(例如:shell执行的命令)确实获得了该导出变量的副本。
在两个不同的终端/窗口中运行的外壳在进程方面不能满足这种关系。
如果要设置环境变量,以便每个正在运行的shell都将获得自己的变量实例,请考虑在.bashrc
中定义它(假设您正在使用bash
)。但是,您将无法将此变量用作所有正在运行的shell“共享”的变量(每个shell都有自己的变量副本)。