-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 2/17/12 6:22 PM, Dan Douglas wrote:
> My favorite is probably the parser ignoring any valid redirection syntax with > the special command substitutions. > > ~ $ { echo "$({xxxxxxxxxxxxxxxxxxxx}</dev/stdin)"; } <<<'hi' > hi Bash does the same thing as ksh93 here, though for the wrong reasons. I think ksh93 counts an input redirection that saves the file descriptor into a variable as sufficient to kick in the `equivalent to cat file' clause. > ~ $ { echo "$(1111111111111111111111</dev/stdin)"; } <<<'hi' > hi This is a bug. It should be a file descriptor out of range error, or it should treat the string of digits as a word, since the value exceeds the largest intmax_t. > That one really is ignored. No variable named xxx... is actually set. I assume you mean the first one. It doesn't matter whether or not the variable is set as a side effect of the redirection -- it's in a subshell and disappears. 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.10 (Darwin) Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk9BaM4ACgkQu1hp8GTqdKvbMACfYfcdTfKqCrQrygNGq4SU0RCP LFEAn3p2zlTl0bZueNB5fy8FLNTDa45L =6ptf -----END PGP SIGNATURE-----