SSH Windows для UNIX - PullRequest
2 голосов
/ 08 мая 2009

Я собрал пакетный файл с моего компьютера с Windows, который подключается к серверу UNIX. Затем я хочу, чтобы команды выполнялись в UNIX из командного файла. UNIX, похоже, не распознает мои команды после того, как я вошел на сервер. Вот что я кодировал:

ssh SERVERNAME выход

Сейчас я просто пытаюсь заставить его войти и выйти. Я вошел в систему на сервере, но затем команда выхода не выполняется. Кто-нибудь знает, чтобы заставить UNIX выполнять мои команды после того, как я вошел в систему, используя этот командный файл?

Ответы [ 4 ]

5 голосов
/ 08 мая 2009

exit не выполняется, потому что это не команда, а внутренняя оболочка (which exit, если вы мне не верите). Попробуйте echo hello world вместо.

4 голосов
/ 08 мая 2009

ssh SERVERNAME 'exit'

вы, вероятно, получите что-то вроде:

ssh SERVERNAME 'bash some_remote_script.sh'

(замените bash на любую оболочку, какую пожелаете)

Я не уверен, почему за «хаос» продолжают голосовать, его ответ не имеет никакого отношения к вопросу. SSH SERVERNAME 'выход' работает отлично.

3 голосов
/ 08 мая 2009

Ну, похоже, у меня работает, но попробуйте это:

ssh -t server command

Возможно, вам просто нужно выделить псевдо-tty.

0 голосов
/ 08 мая 2009

Взгляните на раздел "7.3 Использование Plink в пакетных файлах и скриптах" в документации plink . Это может делать то, что вы хотите.

...