Программерские загогулины [2]
Очередная программерская загогулина, на этот раз решение сразу не дам :)
Допустим, надо выполнить какую-либо команду на нескольких хостах, перечисленных в файле. Пишу:
cat file | (
while read host; do
ssh user@$host "command"
done
)
Ошибка, однако! В чем?
Кто сможет разобраться в уме, не запуская код, тому респект и уважуха :)
UPD:
Решил человек, скрывающийся под ником gds:
поток из “cat file” будет выкушан только первой запущенной командой “ssh …”?
gds, респект тебе уважуха :)
Categories: Shell, Unix, загогулины, Программирование, Техноблог


Чето без запуска никак.
Но если пальцем в небо то может на @$host ругнуться.?
Нет :)
поток из “cat file” будет выкушан только первой запущенной командой “ssh …”?
Gds, так точно.
Блин, так и знал, что не надо на #programming было ссылку оставлять :(
не, ссылка попала от Не киты через аську.
А, значит, совпадение :)
кстати вот, сходу не соображу, как сделать так, чтобы один поток попадал в stdin сразу нескольким процессам. tee, что ли, использовать, но как? Если есть хорошее решение — опубликуйте, очень интересно.
Да, через tee.
Меня тоже этот вопрос очень долго волновал, вот тут пример: http://alexey.sveshnikov.ru/blog/2006/11/24/hints-58/