From: Johannes Sixt Date: Fri, 06 Aug 2010 21:31:38 GMT Subject: Re: [PATCH] bash-completion: Print a useful error when called in a non-bash shell Message-ID: <201008062331.38279.j6t@kdbg.org> In-Reply-To: <4C50B005.1030004@pileofstuff.org> On Donnerstag, 29. Juli 2010, Andrew Sayers wrote: > Detect whether the shell supports process substitution with <() > Shells that fail the test will not be able to load git-completion.bash > > If a bad shell is found, print a warning which gives the user as much > debugging information as possible. This cannot work the way you implemented it: > +$( > + exec 2>/dev/null > + $(exec < <( )) > + ) Any shell that does not support the <() syntax will have exited at this time with a syntax error and never get to print something. This could work: (eval : '$(exec < <( ) )' 2>/dev/null) > +if [[ 0 -ne $? ]] Of course, you must not use unportable [[ ]] syntax here, either. > +then > + cat < ... -- Hannes