The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"foreach > ssh > awk: выполнение awk на нескольких хостах"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"foreach > ssh > awk: выполнение awk на нескольких хостах"  +/
Сообщение от dub (ok) on 11-Дек-09, 13:14 
Пытаюсь выполнить команду с участием awk на нескольких удаленных хостах. Внутри цикла foreach выполняю ssh с удаленной командой, в которой используется awk. Проблема с кавычками, судя по всему. Команда, которую пытаюсь выполнить, в данном случае пинг на дефолт-гейтвей:

ping `netstat -rn | grep default | awk '{print $2}'`

Цикл, в который пытаюсь это засунуть:

foreach i ( 1 2 3 )
    ssh root@host$i "..."
end

Проблема, судя по всему, с кавычками и со знаком доллара. Мне нужно, чтобы awk получил $2 от грепа на удаленном хосте, и никак не могу этого добиться. Кажется, уже перепробовал все возможные сочетания кавычек и пытался всячески эскейпить знак доллара, все что-то не то получается.

Заранее спасибо за подсказки.

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "foreach > ssh > awk: выполнение awk на нескольких хостах"  +/
Сообщение от ACCA (ok) on 11-Дек-09, 19:53 
>foreach выполняю ssh с удаленной командой, в которой используется awk. Проблема
>с кавычками, судя по всему. Команда, которую пытаюсь выполнить, в данном

Плохо пробовал, нужно было продолжать:

ssh root@host$i 'ping `netstat -rn | grep default | awk "{print \\$2}"`'


Ещё учти, что если на host$i стоит Linux iputils, то ping без -с не прекращается.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "foreach > ssh > awk: выполнение awk на нескольких хостах"  +/
Сообщение от dub (ok) on 11-Дек-09, 21:55 
>[оверквотинг удален]
>>с кавычками, судя по всему. Команда, которую пытаюсь выполнить, в данном
>
>Плохо пробовал, нужно было продолжать:
>
>ssh root@host$i 'ping `netstat -rn | grep default | awk "{print \\$2}"`'
>
>
>
>Ещё учти, что если на host$i стоит Linux iputils, то ping без
>-с не прекращается.

Спасибище!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру