Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: знак '$' в директиве set $var "value"
Hello!
On Wed, Mar 24, 2010 at 12:03:01PM -0400, zuborg wrote:
> Нужно задать переменную $salt2 с таким вот значением '$1$EgMajByp$' (три
> знака '$' внутри)
>
> set $salt2 '$1$EgMajByp$';
>
> Но парсер упорно считает знак '$' за начало имени переменной и никак не могу
> найти возможности этого избежать ;(
> Искейпы через '\' не работают, разные виды кавычек не помогают...
> В сорцах парсинг зарыт слишком глубого для меня - не нашел где пропатчить ;(
Патчить - в ngx_http_script.c. В качестве workaround'а можно
засунуть значение в какой-нибудь map (ну или символ '$' в
какой-нибудь map).
> Вариантов решения вижу три (для патча):
> 1 - прикрутить искейп через '\'
> 2 - сделать спец переменную $$ в которой будет храниться символ '$', тогда
> достаточно будет продублировать $ чтоб в значении оказался этот символ
> 3 - отключить парсинг для значения, заключенного в одинарные кавычки (как в
> перле)
1 или 2.
Кавычки обрабатываются на уровне парсинга конфига и в нужное место
просто не доберутся, так что это совсем не вариант.
Но вообще там в этом месте много чего хорошо бы переделать.
Maxim Dounin
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|