From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18674 invoked by alias); 7 Mar 2012 09:27:06 -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: 16857 Received: (qmail 25575 invoked from network); 7 Mar 2012 09:27:03 -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.5 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_LOW,T_DKIM_INVALID autolearn=ham version=3.3.2 Received-SPF: pass (ns1.primenet.com.au: SPF record at _spf.google.com designates 209.85.210.44 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=47M3ZWdvU9unnp76RbEi7T060GnJZcnDVVMVZe63Dj0=; b=P/SDSrbnJy857mvyCEckeriIUN3UZftUV8kUwFguv4nJObzx/1+5HemSNuy0C2GfEx dj7p8ZkP4g6YMx6/MN3WTh9kSs8doWUhVvmMaDDqGNDY4QMQvUPWRkRKnzUYhPV7GN2G gqxxnEUzKnQMgCJlOjkw4JACf43TgMydsNHxOTjyxEkXy6axxIJCvS4ayI5IAS/mokht xo8ubKbrz6UTCiEPLCL3f3r9EUvLisTPpyJB2+7stZWnojORMbjm82WTDZ27rwzqhm03 z9pNSTM/UbawqS5IdvRbqznAmCwp3xiaK8vn9MTGfeZbF69ueY2LkJH3u4Zk9AVXwK6s UWcw== MIME-Version: 1.0 Sender: nikolai.weibull@gmail.com In-Reply-To: <120306230111.ZM11639@torch.brasslantern.com> References: <1331054185.27052.19.camel@air.fifi.org> <120306230111.ZM11639@torch.brasslantern.com> Date: Wed, 7 Mar 2012 10:26:57 +0100 X-Google-Sender-Auth: MXnQJyQ2wQHoTmoK9NaDlGqtvVU Message-ID: Subject: Re: Is it possible to capture stdout and stderr to separate variables in Zsh? From: Nikolai Weibull To: Bart Schaefer Cc: Zsh Users Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Wed, Mar 7, 2012 at 08:01, Bart Schaefer wro= te: > } On Tue, 2012-03-06 at 09:09 +0100, Nikolai Weibull wrote: > } > Is it possible to capture stdout and stderr to separate variables in = Zsh? > You might also be able to do something with the zsh/zselect module, but > just use a temp file. =C2=A0That solution works in bash, too. Invoking two additional commands (mktemp and rm) is prohibitively expensive on Cygwin for my use case. I used the following solution instead: outs=3D("${(@0):-"$({ out=3D$(x) } 2>&1; print $'\0'$out$'\0'$status)"}") The indexes into outs are reversed in regard to the file descriptors, but that=E2=80=99s not a big deal.