Hello! On Thu, 01 Nov 2018 at 17:47:18 (+0200), Mikhail Golub wrote:
> 01.11.2018 17:28, George L. Yermulnik пишет: > >> warn set acl_m_test = ${if match{${run{/usr/local/bin/7z l > >> $mime_decoded_filename}}} {\N(Multivolume = +)\N} {$1}} > > 1. Убрать "\N" - их наличие тут, имхо, бессмысленно. > Имеет смыл. Какой? > > 2. Заэкранировать сам слеш: \\+ > Проверил. Не помогло. Мне помогает: [--- cut ---] $ exim -be > warn set acl_m_test = ${if match{Multivolume = +} {(Multivolume = \\+)} {$1}} warn set acl_m_test = Multivolume = + > warn set acl_m_test = ${if match{Multivolume = -} {\N(Multivolume = [+-])\N} > {$1}} warn set acl_m_test = Multivolume = - > warn set acl_m_test = ${if match{Multivolume = +} {\N(Multivolume = [+-])\N} > {$1}} warn set acl_m_test = Multivolume = + > ^D [--- cut ---] > > 3. Круглые скобки, судя по приведённому примеру, тоже смысла не имеют. > Тоже имеют смысл. Переменная раскрывается в $1. Этого не заметил. Прошу прощения. > Переделал немного. > warn set acl_m_test = ${if match{${run{/usr/local/bin/7z l > $mime_decoded_filename}}} {\NMultivolume = (\+|\-)\N} {$1}} > Если архив не многотомный, то set acl_m_test получает значение "-". > А вот если многотомный (Multivolume = +) - не срабатывает правило :( -- George L. Yermulnik [YZ-RIPE] _______________________________________________ Exim-users mailing list Exim-users@mailground.net http://mailground.net/mailman/listinfo/exim-users