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

Параметр PuTTY: Remote command = 'Top' / Как сохранить сеанс после команды 'q'?

Пример № 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 чтобы получить снимок системы. Я не знаю, как попасть наверх, чтобы перестать очищать экран при выходе.