2013-12-23 34 views

回答

1

由于每个进程的环境得到保护,没有办法共享环境变量。我建议在共享文件系统上使用一个文件来存储你想要的变量,并在需要知道新值的时候读取该文件。

1

您可以将变量保存到脚本中。 然后在第二个会话中输入脚本。

例如:

# session 1 
hello=world 
echo "hello=$hello" > /tmp/var.sh 

# session 2 
. /tmp/var.sh 
echo $hello 
0

这通常是不可能的,因为每个shell(和每个进程)都有自己的环境。见execve(2)

但是,您可能想切换到fish shell。它为您提供所谓的universal variables,它可以在几个(即运行进程)fish shell实例之间共享。这是通过​​用户守护程序(每个fish进程都与之通信)实现的。

相关问题