#!/bin/sh

# SeQuential parallel shell
# kkatarn, 2015

NODESTART=1
NODEEND=25

usage() {
	echo "usage: $(basename $0) [--start node_num [--end node_num]] cmdline"
	exit $1
}

[ $# -lt 1 ] && usage 1

[ $(basename $0) = "shib" ] && IB=ib || IB=""

if [ "${1}" = "--start" ]; then
	NODESTART=$2
	shift
	shift
fi

if [ "${1}" = "--end" ]; then
	NODEEND=$2
	shift
	shift
fi

[ $# -ne 1 ] && usage 1

read -p "Command: \"$1\"; have I execute it for ${IB}nodes (${NODESTART}...${NODEEND}) as \"$(whoami)\" [y/N]? " _resp

case "${_resp}" in 
	y|Y )
		break
		;;
	*)
		echo "Bye!"
		exit 0
		;;
esac

for NN in `seq ${NODESTART} ${NODEEND}`; do
	NODE="${IB}node$(printf "%02u" ${NN})"
	ssh ${NODE} $1
done
