Мне нужно передать некоторые команды программе C на терминальном броске и после этого получить ее ввод.
Как часть этого, у меня есть строка, где сценарий Expect должен быть размещен.
FILE *command = popen("script here","r");
Сценарий, который мне нужно выполнить:
expect -c 'spawn ssh user@host cat /proc/stat
expect {
-re ".*yes/no.*" {
send "yes\r"
exp_continue
}
"password:" {
send -- "password\r"
}
}
interact'
Итак, мне нужно экранировать несколько символов, чтобы скрипт работал так, как нужно.
Я пробовал разные последовательности побега, но все они не правы.
И спасибо за внимание.
UPD:
Не выходя из экрана, я получаю ошибку при компиляции («ошибка синтаксиса перед` * '»,« отклонение »в программе» и другие).
Я думаю, что проблема вызвана новыми строками, но скрипт не работает, если я просто пишу это в одну строку. Я пытался использовать \ n, но это не помогло мне.
Итак, я не могу просто скопировать и вставить скрипт в C-файл, требуется некоторая обработка