Hello,
$ bash -c 'for ((i = 0; $(echo 0); i++)); do echo x; done'
(OK)
$ bash -c 'for ((i = 0; ${x-`echo 0`}; i++)); do echo x; done'
(OK)
$ bash -c 'for ((i = 0; ${x-$(echo 0)}; i++)); do echo x; done'
bash: -c: line 0: syntax error near unexpected token `newline'
bash: -c: line 0: `for ((i =
On 11/15/17 5:13 AM, Stephane Chazelas wrote:
> Hello,
>
> $ bash -c 'for ((i = 0; $(echo 0); i++)); do echo x; done'
>
> (OK)
>
> $ bash -c 'for ((i = 0; ${x-`echo 0`}; i++)); do echo x; done'
>
> (OK)
>
> $ bash -c 'for ((i = 0; ${x-$(echo 0)}; i++)); do echo x; done'
> bash: -c: line 0: syn
$ echo "$LOGNAME " | xod
Dump: standard input
Offset:0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
: 72 69 63 6b 20 0a| rick . |
OK!
$ echo "$'\t' " | xod
Dump: standard input
Offset:0 1 2 3 4 5 6 7 8 9
On 11/15/17 10:01 AM, Rick Richardson wrote:
> $ echo "$'\t' " | xod
>
> Dump: standard input
>
> Offset:0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
>
> : 24 27 5c 74 27 20 0a | $'\t' .
> |
>
> A Bash bug???
Where's the
To put Chet's reply a different way, don't think of $'...' as a dollar
expansion ( like ${} $() or $(()) ) it isn't, it is just another form of
quoting (very similar to '' quoting) and is processed in the same way,
at the same places, as '' quoting would be.
In "'xxx'" the single quotes are just c
On 11/15/17 5:13 AM, Stephane Chazelas wrote:
> I also noticed that cmd was not run in ${x#`cmd`} if x happens
> to be empty (it's also the case in dash and ksh93 though only if
> x is unset; zsh, mksh and yash are fine)
It looks like bash/dash/ksh93 give more weight to the "If word is not
needed