С использованием:CentOS 6.2
BASH shell
Мой сценарий — это что-то вроде
#!/bin/bash
INSTALL_PATH="Enter install path"
CR="\n"
/bin/su root -c "/usr/bin/expect << EOF
spawn name.run
expect $INSTALL_PATH
send $CR
EOF; ... do more stuff..."
Теперь иногда мой файл name.run спрашивает: «Хотите удалить?». Как мне отправить это в качестве необязательного аргумента после первой отправки?
решение1
Вы можете поместить несколько шаблонов в expect
команду
spawn name.run
expect $INSTALL_PATH
send \r
expect {
{Would you like to uninstall?} {
send yes\r
exp_continue
}
eof
}
Обратите внимание, что вы отправляете «\r» для «нажатия Enter».
Также, конечное слово для here-docдолженпоявляться в строке отдельно — за ним не может следовать «; more stuff»