2013-12-23 99 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進程都與之通信)實現的。

相關問題