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