On 8/3/14, 11:02 AM, Tim Friske wrote:
> Hi,
>
> my assumption was that Bash's "printf" builtin implicitly defines a local
> variable when used inside a function like so:
>
> function foobar { printf -v foo bar; }
> foobar
> declare -p foo
> # Prints "bar" from the global "foo" variable.
Bash creates local variables when local/declare/typeset are used to declare
a variable within a function. printf -v var [opts] format [args] works
more like
v=$(printf [opts] format [args])
without the subshell or any of the special handling command substitution
receives.
Chet
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU [email protected] http://cnswww.cns.cwru.edu/~chet/