-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 5/31/13 10:37 PM, Mike Frysinger wrote: > simple code snippet: > $ cat test.sh > func() { > cat > / <<EOF || echo FAIL > 11 > EOF > } > declare -fp > > when run, we see the || statement is incorrectly moved to after the heredoc: > $ bash ./test.sh > func () > { > cat > / <<EOF > 11 > EOF > || echo FAIL > } > > every version of bash i tried fails this way (2.05b through 4.2.45)
I don't get this. I see, when using bash-4.2.45: $ ./bash-4.2-patched/bash ./x1 func () { cat > /tmp/xxx <<EOF || 11 EOF echo FAIL } I get the same thing going all the way back to bash-4.0. I see the same results you do on bash-3.2.51, but that's old enough that it's not going to change. Chet - -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, ITS, CWRU c...@case.edu http://cnswww.cns.cwru.edu/~chet/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (Darwin) Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlGqYo4ACgkQu1hp8GTqdKvGJgCfbyxPaZCd4yQOthCXdWwxGqHC I34An14UuDqYYcKE9ONVH+8SPj9FCJ2U =W3hu -----END PGP SIGNATURE-----