From owner-freebsd-questions@FreeBSD.ORG Mon Jun 13 03:34:26 2005 Return-Path: X-Original-To: questions@freebsd.org Delivered-To: freebsd-questions@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8706116A41C for ; Mon, 13 Jun 2005 03:34:26 +0000 (GMT) (envelope-from mwm-dated-1119497664.4b3a21@mired.org) Received: from delight.idiom.com (delight.idiom.com [216.240.32.16]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4B0C843D49 for ; Mon, 13 Jun 2005 03:34:26 +0000 (GMT) (envelope-from mwm-dated-1119497664.4b3a21@mired.org) Received: from idiom.com (idiom.com [216.240.32.1]) by delight.idiom.com (Postfix) with ESMTP id 203141F8E7C for ; Sun, 12 Jun 2005 20:34:26 -0700 (PDT) Received: from mired.org (mwm@idiom [216.240.32.1]) by idiom.com (8.12.11/8.12.11) with SMTP id j5D3YOww034822 for ; Sun, 12 Jun 2005 20:34:25 -0700 (PDT) (envelope-from mwm-dated-1119497664.4b3a21@mired.org) Received: (qmail 42376 invoked by uid 1001); 13 Jun 2005 03:34:24 -0000 Received: by guru.mired.org (tmda-sendmail, from uid 1001); Sun, 12 Jun 2005 22:34:23 -0500 (CDT) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <17068.65215.389984.290550@guru.mired.org> Date: Sun, 12 Jun 2005 22:34:23 -0500 To: Dan Nelson In-Reply-To: <20050613020118.GB20259@dan.emsphone.com> References: <17067.62149.92183.56827@guru.mired.org> <1118608948.705.6.camel@localhost> <17068.51586.885638.130044@guru.mired.org> <20050613020118.GB20259@dan.emsphone.com> X-Mailer: VM 7.17 under 21.4 (patch 17) "Jumbo Shrimp" XEmacs Lucid X-Primary-Address: mwm@mired.org X-face: "5Mnwy%?j>IIV\)A=):rjWL~NB2aH[}Yq8Z=u~vJ`"(,&SiLvbbz2W`; h9L,Yg`+vb1>RG% *h+%X^n0EZd>TM8_IB;a8F?(Fb"lw'IgCoyM.[Lg#r\ X-Delivery-Agent: TMDA/1.0.3 (Seattle Slew) From: Mike Meyer Cc: Christopher Black , questions@freebsd.org Subject: Re: Problems with command line scratch files in zsh X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jun 2005 03:34:26 -0000 In <20050613020118.GB20259@dan.emsphone.com>, Dan Nelson typed: > In the last episode (Jun 12), Mike Meyer said: > > [Format recovered from top posting.] > > In <1118608948.705.6.camel@localhost>, Christopher Black typed: > > > On Sun, 2005-06-12 at 03:31 -0500, Mike Meyer wrote: > > > > Since going to 5.x with devfd, I've noticed that some of the > > > > shell constructs used by zsh (and other shells - I know zsh > > > > didn't invent this) quit working. To wit: > > > > > > > > guru% wc <(cat /etc/motd) > > > > wc: /dev/fd/11: open: No such file or directory > > > > > > > > The <(...) construct runs the pipe in (), and replaces the <(...) > > > > with the name of the /dev/fd/ entry for the output of that pipe. > > > > The file exists for the shell process doing all this. But when > > > > the comm process tries to open the file to read the data, the > > > > file doesn't exist. This is pretty nasty. > > > > > > > > Anyone got any suggestions on how to fix this? A bug report with > > > > a patch, maybe (I couldn't find any such bug report)? > > > > Workarounds? Maybe this should go to hackers@freebsd.org? > > > Why not just 'cat /etc/motd | wc' ? > > > > Because I used a trivial example designed to illustrate the problem. A > > less trivial example would be: > > > > comm -12 <(sort file_one) <(sort file_two) > > > > Of course, this can also be rewritten using temp files instead of > > pipes. But that will be longer, slower, and uglier. > > > > This worked on 4.X. It ought to work on 5.X. > > If you want a tempfile, you should probably use the =() syntax, which > will always use a tempfile. <() and >() will attempt to use /dev/fd. > It probably worked on 4.* because 4.* creates 64 /dev/fd/* device nodes > on install. If for some reason zsh had more than 64 files open > already, it would have failed even on 4.*. But I don't want temp files, I want pipes. That's why I used <(). http://www.mired.org/consulting.html Independent Network/Unix/Perforce consultant, email for more information.