zsh-users
 help / color / mirror / code / Atom feed
From: Ray Andrews <rayandrews@eastlink.ca>
To: Zsh Users <zsh-users@zsh.org>
Subject: Re: export
Date: Wed, 26 Nov 2014 09:43:51 -0800	[thread overview]
Message-ID: <54761157.8040406@eastlink.ca> (raw)
In-Reply-To: <CABx2=D8gHmuPv+asZ6-S5d+gLfEy09WJwAgFoU_epNh-iJ34Nw@mail.gmail.com>

All:

> Each process gets a private copy of the environment provided by its
> parent. An xterm is just a process. In your example you have this chain
> of processes (parent => child):
>
>    xterm => zsh => zsh
>
> There is no way for an arbitrary zsh process to affect the environment
> of an arbitrary xterm process.

Yeah, I understand the 'inheritance'. I just thought that 'export' might 
somehow
be ramped up to overcome that.

We certainly can do what I want, it's just a little bit of trouble:

  	universal() { echo "$1" >>! /tmp/universal; . /tmp/universal }

And in .zshrc:

   	preexec () { [ -e /tmp/universal ] && . /tmp/universal }

Now in xterm #6:

	pts/6 HP-y5--5-Debian1 root /aWorking/Zsh $ universal "trash=trash"

	pts/6 HP-y5--5-Debian1 root /aWorking/Zsh $ echo $trash
	trash

Now hop over to xterm #12:

	pts/12 HP-y5--5-Debian1 root /aWorking/Zsh $ echo $trash
         trash

... so we can universally export instantly.  I normally have four xterms
open at the same time, so being able to do that is very handy.

The above is obviously rather crude, but it's simple and it works. And you
can throw a command in there too.

As Kurtis said, it might be dangerous, but I live on the edge ;-)

-----------------------
 >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).

That's very cool, I think we should have it too.


  parent reply	other threads:[~2014-11-26 18:14 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-26  0:57 export Ray Andrews
2014-11-26  2:36 ` export Eric Cook
2014-11-26  2:58 ` export Kurtis Rader
2014-11-26  4:32 ` export Bart Schaefer
2014-11-26  4:54   ` export Kurtis Rader
2014-11-26  5:16     ` export Ray Andrews
2014-11-26  5:38       ` export Kurtis Rader
2014-11-26  5:07   ` export Ray Andrews
2014-11-26  5:43     ` export Kurtis Rader
2014-11-26  5:54       ` export Kurtis Rader
2014-11-26 17:43       ` Ray Andrews [this message]
2014-11-26 18:26         ` export Павлов Николай Александрович
2014-11-26 18:45           ` export Ray Andrews
2014-11-26  5:50     ` export Павлов Николай Александрович
2014-11-26  6:21     ` export Kurtis Rader
     [not found]   ` <CABx2=D_zLTkdFsV+eT-VrwwaJQYr=1JeZF0eNqH44saPDYMD7Q__49907.9755544246$1416977797$gmane$org@mail.gmail.com>
2014-11-26  7:18     ` export Stephane Chazelas
2014-11-26 13:37       ` export Clint Hepner
2014-11-26  9:27 ` export Peter Stephenson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54761157.8040406@eastlink.ca \
    --to=rayandrews@eastlink.ca \
    --cc=zsh-users@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).