#! /bin/bash [ $# -lt 1 ] && echo "missing mandatory argument 'hostname'" && exit 1 host=$1 ssh $host "sudo halt" || exit 1 CPT=0 while [ ${CPT} -ne 5 ]; do CPT=$((CPT+1)) ping -c 1 -W 2 -q $host 2>&1 >/dev/null [ $? -ne 0 ] && echo "sshhh, he's asleep..." && exit 0 sleep 5 done echo "$host is still awake!" && exit 1