Login SSH: vai automaticamente para o último diretório visitado?

Login SSH: vai automaticamente para o último diretório visitado?

Durante meus dias de multitarefa, às vezes sou expulso de uma sessão SSH por um motivo ou outro (tempo limite de inatividade, etc.), enquanto estou trabalhando em outra tarefa. Quando eu retornar ao terminal, estarei de volta ao localhost, precisando fazer SSH de volta ao servidor. De volta ao servidor, estou sempre em meu ~diretório inicial por padrão e preciso navegar de volta para o diretório em que estava (se me lembro) para continuar trabalhando.

É possível retornar automaticamente ao último diretório em que estava trabalhando ao fazer login?

Eu estava pensando que uma solução homebrew seria um alias cdpara alterar os diretórios, mas também salvar esse diretório em alguma variável de ambiente e, em seguida, mudar para esse diretório no meu arquivo .bash_profile.

Mas já existe algum tipo de funcionalidade como essa no Linux?

Responder1

Em vez de resolver o cdproblema de persistência, você deve considerar soluções para retomar sua sessão shell.

  • tmux
    • Dentro do SSH, execute tmuxpara iniciar uma nova sessão
    • Se desconectado, faça login via SSH novamente e execute tmux attachpara retomar a sessão
    • Dentro de uma tmuxsessão, você pode pressionar CtrlBe, em seguida, Dpara desconectar
  • screen
    • Dentro do SSH, execute screenpara iniciar uma nova sessão
    • Se desconectado, faça login via SSH novamente e execute screen -rpara retomar a sessão
    • Dentro de uma screensessão, você pode pressionar CtrlAe, em seguida, Dpara desconectar
  • mosh
    • moshé um substituto do SSH executado em UDP e projetado para ser resistente a interrupções de rede

Responder2

Não há necessidade de nenhum software ou aplicativo de terceiros, basta usar o Linux integrado

  1. ao sair, atribua $PWD (último diretório) a uma var temporária antes de sair:

echo $PWD >~/último diretório

  1. ao fazer login, faça cd nesse diretório em ~/.bash_profile:

cd $(<~/últimodir)

Responder3

  1. Pode anexar a instrução abaixo a ~/.bash_logout

    echo `pwd` >~/.lastdir
    
  2. (como sugerido por @isaac-Zhao) adicione o seguinte a ~/.bash_profile

    cd $(<~/.lastdir)
    

informação relacionada