Which way do you expand variables?
Which way do you expand variables?
Which way do you expand variables?
You're viewing a single thread.
First one has the pitfall of a space at the end of the variable still causing it to fail.
Would a space at the end of the variable be ignored in the second one, though?
It would still be considered a single variable because the entire string is quoted. The first scenario would have split it into 2 variables.
I don't think this is correct. Consider what you see from using sh -c -- 'var="a " && printf "%s\n" "${var}"-z'
If "${var}"-z
resulted in two arguments instead of one, I'd see "a" and "-z" on different lines, but I see them on the same line, which means they are treated as a single argument.