diff options
-rwxr-xr-x | shell | 19 |
1 files changed, 19 insertions, 0 deletions
@@ -3,14 +3,28 @@ # Simple autossh and screen wrapper. # +# Parameters BASENAME="`basename $0`" DEST="$1" COMMAND="$2" +# Set screen title +# http://stackoverflow.com/questions/899609/gnu-screen-run-script-that-sends-commands-to-the-screen-session-it-is-being-run +function screen_title { + if [ -n "$STY" ]; then + screen -X title $1 + fi +} + +# Syntax check if [ -z "$DEST" ]; then exit 1 fi +# Set default screen title +screen_title $DEST + +# Dispatcher if [ "$BASENAME" == "shells" ]; then # Remote screen shell using autossh if [ "$COMMAND" == "root" ]; then @@ -24,12 +38,17 @@ else wscreen $DEST elif [ -z "$COMMAND" ] && [ "$DEST" == "root" ]; then # Local root shell + screen_title root sudo screen -x elif [ "$DEST" == "local" ]; then # Local screen shell + screen_title $COMMAND wscreen $COMMAND else # Remote shell using autossh autossh $DEST -t -- $COMMAND fi fi + +# Restore screen title +screen_title terminal |