# CSHRC_RELOAD: NO # CSHRC_PROMPTONLY: YES if (! $?CSHRC_MD_SSH_LAODED) then # Alias auf sich selber setzen aliass ssh ~/.csh/ssh.csh else # Pfad zu ssh set SSH = `whereis ssh` # Wenn ein Agent rennt dann -A Setzen # dies ist auch der Fall wenn man vor her # schon mit -A auf diese Host gekommen ist. if ($?SSH_AUTH_SOCK) then set SSH = "$SSH -A" endif # Wenn kein Screen bzwc. keine Prompt wird # ssh normal aufgerufen if (! $?STY || ! $?prompt) then $SSH $* # wenn Screen, dann wird ssh im neuen # Screen-Fenster gestartet. else # letzer Parameter set _host = $argv[$#argv] # schauen ob ein User mittles »-l« angegeben ist. set _status = 0 foreach arg ($*) if ($_status) then set _user = $arg set _status = 0 else if ("$arg" == "-l") then set _status = 1 endif end # Wenn kein usser mittels »-l« gefunden wurde if (! $?_user) then # dann schauen wir ob er vorm host mit @ getrennt steht. set _user_tmp = `echo $_host | sed 's/\(.*\)@.*/\1/'` # wenn nicht wird der eingelogte user genommen if (-z $_user_tmp || $_host == $_user_tmp) then set _user = $USER # Ansonsten wird der User gesetzt # und der Host gleich mit else set _user = $_user_tmp set _host = `echo $_host | sed 's/.*@\(.*\)/\1/'` endif endif # nun noch den Screen-Titel setzen. # Ist der gefundene user gleich des eingelogten, # dann wird er ignoriert if ($_user == $USER) then set ssh_title = $_host else set ssh_title = "$_user@$_host" endif # Variablen löschen unset _status arg _user_tmp _host _user # Screen starten screen -t $ssh_title $SSH $* endif endif