Annotation of home/as/.csh/ssh.csh, revision 1.1
1.1 ! as 1: # $Paefchen$
! 2:
! 3: # CSHRC_RELOAD: NO
! 4: # CSHRC_PROMPTONLY: YES
! 5:
! 6:
! 7: if (! $?CSHRC_MD_SSH_LAODED) then
! 8: # Alias auf sich selber setzen
! 9: aliass ssh ~/.csh/ssh.csh
! 10:
! 11: else
! 12: # Pfad zu ssh
! 13: set SSH = `whereis ssh`
! 14:
! 15: # Wenn ein Agent rennt dann -A Setzen
! 16: # dies ist auch der Fall wenn man vor her
! 17: # schon mit -A auf diese Host gekommen ist.
! 18: if ($?SSH_AUTH_SOCK) then
! 19: set SSH = "$SSH -A"
! 20: endif
! 21:
! 22: # Wenn kein Screen bzwc. keine Prompt wird
! 23: # ssh normal aufgerufen
! 24: if (! $?STY || ! $?prompt) then
! 25: $SSH $*
! 26:
! 27: # wenn Screen, dann wird ssh im neuen
! 28: # Screen-Fenster gestartet.
! 29: else
! 30:
! 31: # letzer Parameter
! 32: set _host = $argv[$#argv]
! 33:
! 34: # schauen ob ein User mittles »-l« angegeben ist.
! 35: set _status = 0
! 36: foreach arg ($*)
! 37: if ($_status) then
! 38: set _user = $arg
! 39: set _status = 0
! 40: else if ("$arg" == "-l") then
! 41: set _status = 1
! 42: endif
! 43: end
! 44:
! 45: # Wenn kein usser mittels »-l« gefunden wurde
! 46: if (! $?_user) then
! 47: # dann schauen wir ob er vorm host mit @ getrennt steht.
! 48: set _user_tmp = `echo $_host | sed 's/\(.*\)@.*/\1/'`
! 49: # wenn nicht wird der eingelogte user genommen
! 50: if (-z $_user_tmp || $_host == $_user_tmp) then
! 51: set _user = $USER
! 52: # Ansonsten wird der User gesetzt
! 53: # und der Host gleich mit
! 54: else
! 55: set _user = $_user_tmp
! 56: set _host = `echo $_host | sed 's/.*@\(.*\)/\1/'`
! 57: endif
! 58: endif
! 59:
! 60: # nun noch den Screen-Titel setzen.
! 61: # Ist der gefundene user gleich des eingelogten,
! 62: # dann wird er ignoriert
! 63: if ($_user == $USER) then
! 64: set ssh_title = $_host
! 65: else
! 66: set ssh_title = "$_user@$_host"
! 67: endif
! 68:
! 69: # Variablen löschen
! 70: unset _status arg _user_tmp _host _user
! 71:
! 72: # Screen starten
! 73: screen -t $ssh_title $SSH $*
! 74: endif
! 75: endif