# works right echo ab$(echo mnop)yz # works right echo ab$(echo mnop )yz # # works right echo $(echo ab ) # works right echo $( ) echo $() echo ab$()cd echo $(case a in (a) echo sh_352.26ax; esac ) echo $(case a in (a) echo sh_352.26ay; esac) echo $((echo sh_352.25a);(echo sh_352.25b)) echo $(echo sh_352.27 ')' ")" \) # ) comment ) echo $( echo abc # a comment with ) ) echo $( cat here doc with ) eof ) echo $( echo ')' ) unset x x=$(cat bad' syntax EOF ) echo "$x" unset x echo $(for f in \); do echo a; done ) echo $(case a in a) echo sh_352.26a; esac ) echo $(case a in a) echo sh_352.26a; esac) echo $(case a in (a) echo sh_352.26 ;; esac ) echo $(case a in a) echo sh_352.26 ;; esac ) echo $(case a in a) echo sh_352.26 ;; esac ) echo $(( 4 echo $(cat sh_352.28 ) end ) echo $(cat sh_352.28 ) end ) k=$(case x in x) echo k;; esac) echo $k x=$( case $(ls) in example) echo foobix;; esac ) echo $( echo ab\ cd) echo `echo ab cd` echo `echo ab #xyz cd` echo "$(echo abcde) " recho "$(echo abcde) " echo $(echo abcde)\ foo recho $(echo abcde)\ foo recho "wx$(echo abcde)yz" recho "$(echo abcde)" echo $(cat ' eof ) echo after 1 echo $(cat ' eof ) echo after 2 echo "$(cat ' eof )" echo after 3 echo "$(cat ` eof )" echo after 4 echo $( cat hello ) ) echo after 5 echo $(cat ' eof ) echo after 6 echo $( case x in x) echo x;; esac ) echo $( case x in (x) echo x;; esac ) echo $( echo 'quoted )' ) echo $( echo comment # with ) ) echo $( cat here-doc with ) eof ) echo $( cat here-doc terminated with a parenthesis ) ) echo $( cat ' # or a single back- or doublequote eof ) ${THIS_SH} ./comsub-posix1.sub ${THIS_SH} ./comsub-posix2.sub ${THIS_SH} ./comsub-posix3.sub # produced a parse error through bash-4.0-beta2 : $(echo foo)" " # produced a parse error through bash-4.1 unset x x=$( echo yes # a comment with " ' \ ) echo $x unset x # fixed after bash-4.0 released : $(case a in a) echo ;; # comment esac)