Re: bash variable expansion moment

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



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

_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
http://lists.centos.org/mailman/listinfo/centos

[Index of Archives]     [CentOS]     [CentOS Announce]     [CentOS Development]     [CentOS ARM Devel]     [CentOS Docs]     [CentOS Virtualization]     [Carrier Grade Linux]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Linux USB]
  Powered by Linux