On 06/01/11 14:15, Patrick O'Callaghan wrote:
On Wed, 2011-06-01 at 13:48 -0700, JD wrote:
> On 06/01/11 12:39, Patrick O'Callaghan wrote:
>> On Wed, 2011-06-01 at 12:18 -0700, JD wrote:
>>> The quotes are not optional.
>> Read my message again.
>>
>> poc
>>
> Did you read my samples of "use" ?
> Did you see the difference when the quotes
> were used and when the quotes were not?
Of course I did. You're simply repeating what I said and you seem not to
have read carefully. Once again: the quotes are necessary in the use of
the variable.
I also mentioned that in the specific application of "echo" as used in
your example it didn't make much difference, though as Ian Malone has
pointed out there is the case of multiple spaces in the name being
collapsed to one. That's technically correct but it's a distinction
without a difference for the example input you give*. I'm sorry I even
brought it up if it's causing so much confusion.
poc
Well here's what you said:
No, each filename counts as one argument, even if it has spaces in
it.
The problem arises when you*use* the argument. The above should read:
for i in *; do
[ -f "$i"]&& echo "$i" is a file
done
(the quotes are optional in the echo case obviously).
Should have chosen a "use" other than echo :)
but I did indeed misread your post.
Cheers,
JD