[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
unwanted expansion of variable with nested strings
From: |
Mike Frysinger |
Subject: |
unwanted expansion of variable with nested strings |
Date: |
Wed, 3 May 2006 22:15:51 -0400 |
User-agent: |
KMail/1.9.1 |
ignoring the fact that i can pass in variables to gawk using the '-v' option,
i'm wondering if this is a bug in how bash expands variables to pass to
programs ... i couldnt pick out anything under EXPANSION, but that's probably
just because i missed it ;)
take for example:
$ foo="a b c"
$ gawk 'BEGIN {foo="'${foo}'"}'
gawk: BEGIN {foo="a
gawk: ^ unterminated string
this being because bash executed:
argv[0] = gawk
argv[1] = BEGIN {foo="a
argv[2] = b
argv[3] = c"}
when really i wanted:
argv[0] = gawk
argv[1] = BEGIN {foo="a b c"}
so if i quote ${foo} like so:
$ gawk 'BEGIN {foo="'"${foo}"'"}'
it'll work in this case, but then fail if foo contains newlines:
foo="a
b
c"
-mike
- unwanted expansion of variable with nested strings,
Mike Frysinger <=