NetXMS Support Forum

Russian Support => Общие вопросы => Topic started by: kozlov_ao on June 06, 2012, 03:34:52 PM

Title: И снова ExternalParemetr
Post by: kozlov_ao on June 06, 2012, 03:34:52 PM
Вопрос в следующем:
Как правильно составить ExternalParameter следующего вида?
ExternalParameter = Net.DNS.ResponseTime(*):/usr/local/pkg/netxms/test_net.sh dns $1 | awk "{print($2)}"

Смущает awk "{print($2)}", а именно ($2). Как его экранировать? и вообще, можно ли посмотреть, отрабатывается конструкция | awk "{print($2)}"?
Title: Re: И снова ExternalParemetr
Post by: kozlov_ao on June 06, 2012, 03:43:29 PM
Сейчас попробовал сделать так:
ExternalParameter = Net.DNS.ResponseTime(*):/usr/local/pkg/netxms/test_net.sh dns $1 | awk '{print $2}'

и понял, что все, что после | - игнорируется...
Title: Re: И снова ExternalParemetr
Post by: BrandStorm on June 06, 2012, 07:55:24 PM
Попробуйте обрамить команду в кавычки.
Title: Re: И снова ExternalParemetr
Post by: kozlov_ao on June 07, 2012, 09:59:49 AM
Нет, это не помогает.
Более того, заметил что при выполнении:
ExternalParameterShellExec = Net.DNS.ResponseTime(*):/usr/local/pkg/netxms/test_net.sh dns $1 | /usr/bin/awk "{print $2}"

См скрипт отрабатывается нормально, а вот на | /usr/bin/awk "{print $2}" он чхать хотел, т.к. в результате выдается полный ответ: DNSResponseTime: 3, хотя должен отдать только "3".
Title: Re: И снова ExternalParemetr
Post by: kozlov_ao on June 07, 2012, 10:09:10 AM
Осенило :)
ExternalParameterShellExec = Net.DNS.ResponseTime(*):/usr/local/pkg/netxms/test_net.sh dns $1 | /usr/bin/awk "{print $$2}"

И есть легкое ощущение, что это описано в доке :)
Title: Re: И снова ExternalParemetr
Post by: Victor Kirhenshtein on June 07, 2012, 06:34:37 PM
В доке это не описано :(, но на форуме мелькало наверное.