Файл ответов для шеф-повара устанавливает Opsworks
У меня есть установка для Linux, которая требует несколько ответов, кроме да и нет. Один из них - это каталог (который имеет значение по умолчанию) и принимаемый для EULA, остальные - да и нет ответов.
У меня есть сценарий в рецепте, который запускает bash, и я дохожу до определенного момента, и он зависает, поиск ввода - мое предположение.
Важная часть
echo "/opt/mydir" # directory location
echo "yes" \n # confirm directory location
sleep 10 # added a pause while it did its thing. Needed?
echo "yes" \n # another question asked
sleep 10 #another pause
echo "accept" \n # EULA agreement, requires accept or decline
echo "y" \n # another question asked
sleep 10 # another pause
echo "y" \n #another question asked
sleep 10 # another pause before the next command is sent that runs another stage of the install.
Согласно лог-файлу, он зависает от соглашения EULA, что заставляет меня поверить, что оно ожидает принятия. Если я запускаю его вручную, он будет запрашивать принятие или отклонение при каждом вводе, если не увидит принятие или отклонение.
Так что я могу сделать по-другому, чтобы сделать эту работу? Я искал несколько дней в поисках ответа и не нашел ни одного, поскольку это не простой сценарий да или нет.
1 ответ
Я наконец наткнулся на это от коллеги. Даже проще, чем я думал.
script 'Install Software' do
interpreter "bash"
cwd "/opt/fidir"
code <<-EOH
cp /home/user/installs/fidir/Install/oskey.lic /opt/fidir/insttemp/oskey.lic
/opt/fidir/fast psx <<-EOFFIDIR02
y
n
AEC
02
n
/var/fidir
1
n
EOFFIDIR02
EOH
конец