Date: Wed, 23 Apr 2014 19:06:35 +0200 From: Wolfgang Jenkner <wjenkner@inode.at> To: Emanuel Haupt <ehaupt@critical.ch> Cc: olli hauer <ohauer@gmx.de>, svn-ports-all@FreeBSD.org, ports-committers@freebsd.org, Emanuel Haupt <ehaupt@FreeBSD.org>, Adam Weinberger <adamw@adamw.org> Subject: Re: svn commit: r351864 - head/shells/bash Message-ID: <85ha5kgdu8.fsf@iznogoud.viz> References: <5356B13D.3010600@gmx.de> <3C27DBBC-628F-48F7-9EC4-82C7BA559D85@adamw.org> <20140423102806.daa72bd1fec855d882d47163@critical.ch>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Apr 23 2014, Emanuel Haupt wrote: > "Adam Weinberger" <adamw@adamw.org> wrote: >> Also I'm confused by the statement "bash requires fdescfs(5) mounted >> on /dev/fd", as it runs just fine without it. Perhaps it should be >> changed to: >> bash will support a '/dev/fd/N' syntax if fdescfs(5) is >> mounted on /dev/fd > > Adam, this seems more accurate. Please feel free to commit. This is not quite true either, but kib@ perfectly explained the awkward situation in http://permalink.gmane.org/gmane.os.freebsd.devel.amd64/15636 Also (if you look at what started the thread) the main problem is not the /dev/fd/* syntax per se, but the process substitution feature, as mat@ already observed. So I'd suggest something like You should mount fdescfs(5) on /dev/fd if you are installing a precompiled package from an official pkg repository or, more generally, if bash was compiled with fdescfs(5) being mounted. The reason is that bash implements process substitution by means of the file-descriptor file system if that was mounted at build time. For details, please see `Process Substitution' in the bash(1) manual.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?85ha5kgdu8.fsf>