Path: csiph.com!goblin1!goblin.stu.neva.ru!usenet.stanford.edu!not-for-mail From: Greg Wooledge Newsgroups: gnu.bash.bug Subject: Re: Undocumented feature: Unnamed fifo '<(:)' Date: Mon, 29 Jun 2020 09:00:28 -0400 Lines: 30 Approved: bug-bash@gnu.org Message-ID: References: <20200628134945.GB24863@medium.hauri> <20200629130028.GT22833@eeg.ccf.org> NNTP-Posting-Host: lists.gnu.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: usenet.stanford.edu 1593435662 10854 209.51.188.17 (29 Jun 2020 13:01:02 GMT) X-Complaints-To: action@cs.stanford.edu To: bug-bash@gnu.org Envelope-to: bug-bash@gnu.org Mail-Followup-To: bug-bash@gnu.org Content-Disposition: inline In-Reply-To: <20200628134945.GB24863@medium.hauri> User-Agent: Mutt/1.10.1 (2018-07-13) Received-SPF: none client-ip=139.137.100.1; envelope-from=wooledg@eeg.ccf.org; helo=mail.eeg.ccf.org X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/29 09:00:29 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -8 X-Spam_score: -0.9 X-Spam_bar: / X-Spam_report: (-0.9 / 5.0 requ) BAYES_00=-1.9, KHOP_HELO_FCRDNS=1, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: bug-bash@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Bug reports for the GNU Bourne Again SHell List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: <20200629130028.GT22833@eeg.ccf.org> X-Mailman-Original-References: <20200628134945.GB24863@medium.hauri> Xref: csiph.com gnu.bash.bug:16482 On Sun, Jun 28, 2020 at 03:49:45PM +0200, felix wrote: > Bash Versions: 3.2.57(1)-release, 5.0.3(1)-release, 5.1.0(1)-alpha > > In order to reduce forks and make some tasks a lot quicker, I run > forked filters as background tasks, with dedicated I/O fd. As Pierre already suggested, you appear to be reinventing the coproc. If you really are targeting bash 3.2, which doesn't have the coproc feature, then OK, go you. If you aren't targeting bash 3.2, but simply noted that your code happened to "work" in even that ancient version, then you should just use the coproc feature instead. Your problem description is also covered by . You should at least look over that page and see if it helps you. If you don't want to timestamp a stream, but instead, actually want to fetch the wall-clock time repeatedly in a bash script for some reason, and if you are targeting bash 4.2 or newer, you can use printf -v var '%(...)T' -1 which will not fork. But this seems like an unusual goal. If the *actual* goal is something like "measure the time taken by a specific set of commands", and you thought that fetching the wall-clock time twice and subtracting them was the way to go, I strongly suggest that you use bash's "time" command instead. Use the TIMEFORMAT variable to get the specific output format that you want.