PuTTY Option: Comando remoto = 'Top' / Como reter a sessão após o comando 'q'?

1

Exemplo # 1) Login não modificado do PuTTY no diretório padrão > > Digite o comando "Top" > > > enter 'q' = Você volta ao diretório raiz (padrão).

Exemplo # 2) Use a opção de configurações do PuTTY remote command ="Top" > > Do topo, digite 'q' = logout instantâneo (sessão encerrada)

Exemplo # 3) O mesmo que # 2 com 1 diferença: PuTTY remote command = echo "Hello World!"; topo;

^^^ re # 3 : Eu estava pensando na breve pausa para ecoar (por exemplo) Hello World! simularia o Exemplo # 1 e depois de "q" eu retornaria "Home", mas o resultado seria igual a # 2 (sessão encerrada)

Resumo rápido : Esta é uma daquelas coisas que "deve ser simples" ; Como faço o login direto para o 'topo' e ainda tenho uma sessão depois de 'q'?

...

.. EDIT: Uma inundação incrivelmente rápida de respostas para esta hora da manhã!

logout: not login shell: use 'exit'

Aqui está o código exato que está funcionando melhor:

top; /bin/bash -il

Eu também estou testando o código de Phil agora, ele é praticamente o mesmo.

    
por This_Is_Fun 31.01.2011 / 11:05

5 respostas

8

O SSH executa o comando remoto passando-o ao seu shell configurado para executar. Se você abrir o PuTTY com o comando remoto top , o SSH executará o seguinte:

$SHELL -c "top"

Quando executado com o argumento -c , o shell termina quando o comando terminar, o que faz com que sua sessão termine.

Para rodar em cima e depois ficar logado, você pode usar o comando remoto top; $SHELL -l . Isso será executado na parte superior e, em seguida, iniciará um shell de login.

    
por 31.01.2011 / 11:23
0

Ele está desconectando você porque você disse ao putty para executar um e apenas um comando na sua sessão remota, que é o topo.

Você pode criar um arquivo ~/bin/topsh , que disse

#!/bin/bash
top
exec bash

e use a opção "remote command" do putty para tentar rodar isso; uma vez que você sair do topo, a sessão será sobrescrita com um shell bash, e quando você deixar isso, você deve ser automaticamente desconectado.

    
por 31.01.2011 / 11:19
0

Tente alterar seu comando remoto para

top; bash
    
por 31.01.2011 / 11:20
0

Se o comando remoto sair, o shell em que ele é executado também será fechado, o que encerra sua sessão. Se o seu último comando for top , então existirá que sempre fechará sua sessão.

Teste top; bash como seu comando e você executará um shell após top sair. A sessão só terminará depois que você fechar a sessão bash.

    
por 31.01.2011 / 11:21
0

A melhor aposta é olhar para o modo de lote do topo. Você pode fazer algo como top -n1 -b para obter um instantâneo do sistema. Eu não estou ciente de qualquer maneira para chegar ao topo para parar de limpar a tela ao sair.

    
por 31.01.2011 / 11:23

Tags