On 11/15/2009 08:54 AM Stephen Harris wrote: > On Sun, Nov 15, 2009 at 08:23:59AM -0500, ken wrote: >> A function containing environmental variables in one file would be >> called in another file. The function would, then, pass (e.g.) $LINENO >> as if it were a literal, but in the line where $Line is invoked it would >> be evaluated and the value output. > > I'm not quite sure what you're saying. Typically variables are not expanded > at 'parse' time, but at run time. > > .... >From the original post (somewhere got edited out): I'm trying to write a function which, when called from one function execute in another. In itself, that's not the problem. Rather, there's one built-in variable which is evaluated in the function definition and it's value is then set (too early). Here's the one file (func-file): ------------------------- Line() { echo This is line "$LINENO" $@ } ------------------------- That one is called by this one: ------------------------- #!/bin/bash . ./func-file Line ... it should be $LINENO ------------------------ I want the function Line to show the line number in the second file where it's executed, not the line number from the sourced function. ===================================== The problem is that $LINENO is evaluated in the function definition, and not when called. So I'm thinking to change "$LINENO" in the function definition to some other syntax so that it won't be evaluated until called. tnx