Ожидать скрипт внутри необязательного оператора скрипта bash

Ожидать скрипт внутри необязательного оператора скрипта bash

С использованием: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»

Связанный контент