#!/bin/bash # # Usage: # $ echo "host1 host2 host3" | ./sshmany uname -a # $ cat myservers | ./sshmany echo Hello world # cmd="$@" servers="$(cat)" i=37 for server in $servers; do echo "----> $server" | awk -v i=$i '{print "\033[" i "m" $0 "\033[39m"}' i=$(expr $i - 1) done echo "====> $cmd" i=37 for server in $servers; do ssh $server $cmd | awk -v i=$i '{print " \033[" i "m" $0 "\033[39m"}' & i=$(expr $i - 1) done wait