Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

Re: [PATCH] bash-completion: Print a useful error when called in a non-bash shell

From: Johannes Sixt <hidden>
Date: 2016-06-15 22:49:15

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 <<EOF
...
-- Hannes
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help