#!/bin/bash # # simple autossh and screen wrapper # BASENAME="`basename $0`" DEST="$1" COMMAND="$2" if [ -z "$DEST" ]; then exit 1 fi if [ "$BASENAME" == "shells" ]; then # Remote screen shell using autossh if [ "$COMMAND" == "root" ]; then autossh $DEST -t -- sudo screen -x else autossh $DEST -t -- screen -x $COMMAND fi else if [ -z "$COMMAND" ] && screen -ls $DEST | grep -q "There is a screen on"; then # Local existing screen shell wscreen $DEST elif [ -z "$COMMAND" ] && [ "$DEST" == "root" ]; then # Local root shell sudo screen -x elif [ "$DEST" == "local" ]; then # Local screen shell wscreen $COMMAND else # Remote shell using autossh autossh $DEST -t -- $COMMAND fi fi