On Wed, Nov 26, 2014 at 2:18 AM, Stephane Chazelas < stephane.chazelas@gmail.com> wrote: > 2014-11-25 20:54:39 -0800, Kurtis Rader: > > If by "fake it" you mean cooperative processes that implement a protocol > > for exchanging environment variables then, yes, you can achieve the > result > > desired by Ray. However I think that everyone trying to achieve this > result > > wants to do so without having to implement a new data exchange protocol > in > > every program. > [...] > > FYI, the "fish" shell does that. > > set -U universal its value > > and that $universal variable (here an array) becomes available > in all the fish shells (interactive or not) by the same user on > the machine (with all the security implications it entails). > > Note that fish implements this in a manner similar to one mentioned earlier in this thread: it uses a separate process that acts as a variable server. When fish tries to look up a variable, and fails to find it in either the local or global scope, it contacts the server to see if the variable exists at the "universal" scope.