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