Пример № 1) «Немодифицированный» вход PuTTY в каталог по умолчанию >> Введите команду «Top» >>> введите «q» = Вы вернетесь в корневой каталог (по умолчанию).
Пример # 2) Используйте параметр настроек PuTTY remote command
= "Вверху" >> Сверху введите 'q' = Мгновенный выход (сессия закрыта)
Пример # 3) То же, что и # 2 с разницей в 1: PuTTY remote command
= echo "Привет, мир!"; верхняя;
^^^ re # 3: Я думал о короткой паузе, чтобы повторить эхо (например) Hello World! будет имитировать Пример №1 и после 'q' я вернусь в "Дом", но результат будет равен # 2 (сеанс закрыт)
Краткое резюме: Это одна из тех вещей, которые "должно быть просто"; Как мне войти прямо в «верх» и продолжить сеанс после «q»?
...
.. РЕДАКТИРОВАТЬ: Удивительно быстрый поток ответов для этого утреннего времени!
выход из системы: не вход в оболочку: используйте `exit '
Вот точный код, который работает лучше всего:
top; /bin/bash -il
Я сейчас тоже тестирую код Фила, он практически такой же.
SSH выполняет удаленную команду, передав ее настроенной оболочке для выполнения. Если вы откроете PuTTY удаленной командой top
, тогда SSH выполнит следующее:
$SHELL -c "top"
При запуске с -c
аргумент, оболочка завершает работу после завершения команды, что приводит к завершению сеанса.
Чтобы запустить top и оставаться в системе, вы можете использовать удаленную команду top; $SHELL -l
. Это запустится сверху, а затем запустит оболочку входа в систему.
Он выводит вас из системы, потому что вы сказали putty запустить одну и только одну команду в вашем удаленном сеансе, которая является верхней.
Вы могли бы сделать файл ~/bin/topsh
, который сказал
#!/bin/bash
top
exec bash
и используйте опцию "удаленной команды" putty, чтобы попробовать ее запустить; как только вы покинете верхнюю часть, сеанс будет перезаписан оболочкой bash, и когда вы выйдете из нее, вы должны автоматически выйти из системы.
Попробуйте изменить удаленную команду на
top; bash
После выхода удаленной команды оболочка, в которой она запущена, также закроется, что завершит ваш сеанс. Если ваша последняя команда top
, то существующий, который всегда закроет ваш сеанс.
Пытаться top; bash
в качестве вашей команды, и вы запустите оболочку после top
выходы. Сеанс завершится только тогда, когда вы закроете этот сеанс bash.
Лучше всего посмотреть на пакетный режим top. Вы можете сделать что-то вроде top -n1 -b
чтобы получить снимок системы. Я не знаю, как попасть наверх, чтобы перестать очищать экран при выходе.