Variables and includes

Daniel L. Miller dmiller at
Mon Jan 14 04:18:35 UTC 2013

On 1/13/2013 6:50 PM, Maxim Dounin wrote:
> Hello!
> On Sat, Jan 12, 2013 at 09:40:14PM -0800, Daniel L. Miller wrote:
>> Is it possible to use a variable from one configuration in a
>> included config file?  Example:
>> set $a = "hello";
>> include test.conf;
>> [test.conf]
>> if ($a = "hello") {
>>      set $a = "world";
>> }
>> # something that works with $a
>> Within the scope of the commands of test.conf, will $a be "hello" or
>> "world"?  Currently my usage like this gives me a, "using
>> unitialized variable" warning.
> The "include" directive works during configuration parsing and
> completely transparent to everything else.  That is, you may set a
> variable in one file and then use it in an included file, it is
> expected to work fine.
> On the other hand, example you've provided is syntactically
> invalid and will result in the following error during
> configuration parsing:
> nginx: [emerg] invalid number of arguments in "set" directive in ...
> Correct way to write it would be
>     set $a "hello";
> Note there is no "=" character.  See for
> details.
Shows what happens when you quickly type up an example...thanks for 
catching it.

So I repeat my question - why, given the above example (with correct 
syntax), would I see warnings for "uninitialized variable" for the above 
in the "test.conf", as the variable is declared prior to the include 


More information about the nginx mailing list