我们如何将变量从一个shell更新到另一个shell?
假设我打开了2个Putty会话,我想在第一个SHELL中设置一个变量,我需要从第二个SHELL访问该变量。
有可能吗?
答案 0 :(得分:2)
您可以将变量保存到脚本中。 然后在第二个会话中获取脚本。
例如:
# session 1
hello=world
echo "hello=$hello" > /tmp/var.sh
# session 2
. /tmp/var.sh
echo $hello
答案 1 :(得分:1)
由于每个进程的环境都受到保护,因此无法共享环境变量。我建议在共享文件系统上使用一个文件来存储你想要的变量,并在你需要知道新值是什么时读取该文件。
答案 2 :(得分:0)
通常不可能,因为每个shell(和每个进程)都有自己的环境。请参阅execve(2)。
但是,您可能希望切换到fish
shell。它为您提供了所谓的universal variables,它可以在fish
shell的几个实例(即进程运行)之间共享。这是通过fishd用户守护程序实现的(每个fish
进程都与之通信)。