У меня настроена аутентификация на основе ключей для доступа ко всем моим клиентским компьютерам с использованием ssh. Однако, если я запускаю anyscript на этих клиентах и предположим, что если определенные хосты не работают, терминал зависает в этом сеансе, и для перехода к следующим хостам требуется много времени. Есть ли другой способ решить эту проблему? Или можно пропустить хост, который не работает, чтобы он перешел к следующему хосту? Я использую Ubuntu 11.04. Кто-нибудь может мне помочь? Заранее спасибо.
Учитывая ваш комментарий, я предлагаю что-то вроде этого:
while read -r line
do
echo "$line" > sh scriptname.sh &
done < "$file"
wait
@ queueoverflow ответ правильный, но я подумал, что это было излишне сложно. Может быть, это легче читать?
ssh server1 do something &
ssh server2 do something at the same time &
ssh server3 do yet more things &
wait
&
означает запуск в фоновом режиме, а wait
означает зависание до тех пор, пока все фоновые задачи не завершатся. Все задачи будут выполняться параллельно, и весь процесс должен занимать время самой длинной задачи, и не более.