Назад | Перейти на главную страницу

Вход по SSH: автоматически перейти в последний посещенный каталог?

В дни, когда я работаю в многозадачном режиме, иногда я буду отключен от сеанса SSH по той или иной причине (таймауты простоя и т. Д.), Пока я работаю над другой задачей. Когда я вернусь к терминалу, я снова окажусь на локальном хосте, и мне понадобится SSH обратно на сервер. Вернувшись на сервер, я всегда в своей ~ домашний каталог по умолчанию, и мне нужно вернуться в каталог, в котором я был в последний раз (если я могу его вспомнить), чтобы продолжить работу.

Можно ли автоматически вернуться в последний каталог, в котором я работал, при входе в систему?

Я думал, что домашнее решение будет с псевдонимом cd чтобы изменить каталоги, но также сохранить этот каталог в некоторой переменной среды, а затем перейти в этот каталог в моем .bash_profile.

Но есть ли уже в Linux какие-то функции подобного рода?

Вместо решения cd проблема с постоянством, вам следует подумать о решениях, чтобы возобновить сеанс оболочки.

  • tmux
    • Внутри SSH запустите tmux чтобы начать новую сессию
    • При отключении снова подключитесь по SSH и запустите tmux attach возобновить сеанс
    • Внутри tmux сеанс, вы можете нажать CtrlB, затем D отделить
  • screen
    • Внутри SSH запустите screen чтобы начать новую сессию
    • При отключении снова подключитесь по SSH и запустите screen -r возобновить сеанс
    • Внутри screen сеанс, вы можете нажать CtrlА, затем D отделить
  • mosh
    • mosh это замена SSH, работающая по UDP и защищенная от сбоев в работе сети.

Нет необходимости в стороннем программном обеспечении или приложении, просто используйте встроенный Linux

  1. при выходе из системы назначьте $ PWD (последний каталог) временной переменной перед выходом из системы:

эхо $ PWD> ~ / lastdir

  1. при входе в систему перейдите в каталог ~ / .bash_profile:

cd $ (<~ / lastdir)

  1. Можно добавить оператор ниже в ~ / .bash_logout

echo 'pwd' >~/.lastdir

и поскольку @ isaac-Zhao предложил добавить cd $(<~/.lastdir) в ~ / .bash_profile