Название похоже на невозможно создать ssh с помощью TCL, ожидающего в ActiveTCL. но я думаю, что столкнулся с другой проблемой...
Я только что установил 32-разрядную версию ActiveTcl 8.5 на свой ПК с Windows 10. После его установки я успешно установил Expect, набрав в командной строке tcl следующее:
teacup install Expect
Следуя руководству о том, как использовать Expect для входа на удаленную машину, мой код дает сбой, когда он пытается использовать команду «spawn». Я сократил свой код до следующих минимальных строк в файле сценария с именем simple_ssh.tcl.
#!/bin/sh
# \
exec tclsh "$0" ${1+"$@"}
package require Expect
spawn ssh [email protected]
expect "[email protected]'s password:"
Когда я запускаю это с помощью команды tclsh simple_ssh.tcl
, я получаю сообщение об ошибке:
Запрос не поддерживается. при выполнении «spawn ssh [email protected]» (файл «simple_ssh.tcl», строка 5) дочерний процесс завершился аварийно
Если вместо этого я просто наберу ssh [email protected]
в приглашении tcl, удаленная машина ответит ожидаемым приглашением:
[email protected]'s password:
И сеанс ssh работает, как и ожидалось. Таким образом, он может видеть процесс ssh. Мне кажется, что 'spawn' может быть неправильно интегрирован в Expect. Что еще я могу делать неправильно? Есть ли другой пакет, который мне нужно установить как часть ActiveTcl, чтобы заставить его работать?
#!/usr/bin/env tclsh
- person glenn jackman   schedule 03.06.2020