2014-09-25 10:43 GMT+02:00 Davide Brini <[email protected]>:
> I'm not arguing about anything, I just have a question. I understand that
> with the current method used to export functions, it is not possible to
> export a variable to a child whose value begins exactly with the characters
> in question. A quick test seems to confirm that:
>
> $ x='() { echo a; }' bash -c 'echo "$x"'
>
> $ x='() { echo a; }' bash -c 'echo "$x"'
> () { echo a; }
>
>
> So is there a way to be able to export variables with arbitrary values,
> including '() {' ? Sorry if this has been discussed before.
>
There's the -p flag, but it has other side effects
$ x='() { echo a; }' bash -pc 'echo "$x"'
() { echo a; }
I also dislike that it parses exported functions by default; it violates
the "don't treat data as code" rule. Sure would be nice if there was a
separate flag that only disables parsing of exported functions.
--
Geir Hauge