From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21630 invoked by alias); 26 Nov 2014 02:59:00 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: X-Seq: 19433 Received: (qmail 25237 invoked from network); 26 Nov 2014 02:58:46 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,HTML_MESSAGE, RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=3FlpAWVOCuuWhP5i9ORoTapgq2R9r593lSgxHuQPNoQ=; b=SDks3QaM5SFlnIm7IpIQK0Fu5WOVmwWXDwEorZOwKrPrtAeWmxBtdz1t3k1CEeI9gh nmLOcBkmh49qxLoUkmEoortkDgmoz6lGiMR8sk/9dwEFCybDpr72hEqvwFVjAXCblVPm KQuePkUK/i4hOawjNVem6MonwgbIRzscAEn9mPMZICnGW+0lZ0P5q/Gw9dq/LIh0J2vp Z850j+eeRGfqEccDbtuJIDm2QCSAVkM4OZeSkLifLQiy2hsoY/SlJepCtqGWZBP5Ra+4 SZGcSrULEV+hK1j/tqd1JPVftsjQ14HJUnREOG0Piw9cOUM/RTJl56UgnubsRvw0Zplj vHVQ== X-Gm-Message-State: ALoCoQmVoBGgDdFE90BohXhzTho6gpiILOFOh5nA3FgX3FUduSLS1gyI8r1RDKz+fP/28gxKBXbH MIME-Version: 1.0 X-Received: by 10.152.43.103 with SMTP id v7mr8119418lal.29.1416970720478; Tue, 25 Nov 2014 18:58:40 -0800 (PST) In-Reply-To: <54752574.5090205@eastlink.ca> References: <54752574.5090205@eastlink.ca> Date: Tue, 25 Nov 2014 18:58:40 -0800 Message-ID: Subject: Re: export From: Kurtis Rader To: Ray Andrews Cc: Zsh Users Content-Type: multipart/alternative; boundary=001a11c34dca739f6a0508ba343c --001a11c34dca739f6a0508ba343c Content-Type: text/plain; charset=UTF-8 It's a function of the operating system. All UNIX like operating systems use an inheritance model. That is, when a new process is spawned it gets a copy of the parent environment or one specially crafted by the parent for the child process. The environment is copied into the address space of the process (almost always near the top of the stack before the main() function is invoked). This means each process has its own, private, set of environment variables. This makes it infeasible for one process to modify the environment variables of another process. It also means, obviously, there is no "global" set of environment variables. This book is the best one for understanding why things work the way they do on UNIX like operating systems: http://www.apuebook.com/apue3e.html Try typing "man execle" at a shell prompt to read about the API that zsh uses to start a new process and pass it an environment. That command may or may not work depending on the packages you've installed on your system. I've programmed on at least two operating systems which had a totally different model for the equivalent of environment variables where what you're trying to do was possible. But those operating systems were swept into the dustbin of history several decades ago. On Tue, Nov 25, 2014 at 4:57 PM, Ray Andrews wrote: > When I export a variable it is only available in subsequent shells in the > same xterm. Can I make it export globally? Or is the issue somehow related > to the xterm itself? > -- Kurtis Rader Caretaker of the exceptional canines Junior and Hank --001a11c34dca739f6a0508ba343c--