2017-02-18 10 views
1

ожидают скрипт возвращающий неверную команду, когда я пытаюсь создать папку после входа на сервер через SSHInvalid ошибка команды «MkDir» в то время как excuting #expect скрипт

Это ниже ошибки я получил

invalid command name "mkdir" 
    while executing 
"mkdir new" 
    (file "./connecttotravalour.exp" line 8) 

И код на моем ожидать сценария:

#!/bin/bash 
#connect to travalour host 

spawn ssh [email protected] 
expect "password" 
send "[email protected]\r" 
interact 
mkdir new 
+0

Попробуйте http://askubuntu.com/questions/703754/how-to-do-more-with-an-expect-script-than-just-a-log-in – jophab

ответ

0

Проводка формы ответа askubuntu на подобный вопрос

Главной задачей программирования ожиданий является отправка и ожидание пар: вы отправляете какой-то текст в порожденный процесс и ожидаете ответа. В этом случае вы отправляете команду mkdir и ожидаете увидеть, что ваше приглашение знает, что команда завершена. Запросы лучше всего сопоставляются с регулярными выражениями, чтобы соответствовать их концу. Поскольку подсказки настолько настраиваются, вы можете отредактировать выражение приглашения: это соответствует буквенному знаку доллара и пробелу в конце строки.

#!/bin/bash 
#connect to travalour host 

spawn ssh [email protected] 
expect "password" 
send "[email protected]\r" 
set prompt_re {\$ $} 
expect -re $prompt_re 
send "mkdir -p new" 
expect -re $prompt_re 
interact 
+0

Ваш код работает parshually , Теперь я подключился к своему серверу, и теперь команда отображается на терминале, например, 'travalour @ TRAVALOUR-SVR: ~ $ mkdir -p new' Когда я нажимаю кнопку ввода нового созданного каталога, мне нужно сделать это также через оболочку .. –

 Смежные вопросы

  • Нет связанных вопросов^_^