![Скрипт ответа на запрос apt-get «Чтобы продолжить, введите фразу „Да, делай, как я говорю!“» в bash](https://rvso.com/image/1452239/%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82%20%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%B0%20%D0%BD%D0%B0%20%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%20apt-get%20%C2%AB%D0%A7%D1%82%D0%BE%D0%B1%D1%8B%20%D0%BF%D1%80%D0%BE%D0%B4%D0%BE%D0%BB%D0%B6%D0%B8%D1%82%D1%8C%2C%20%D0%B2%D0%B2%D0%B5%D0%B4%D0%B8%D1%82%D0%B5%20%D1%84%D1%80%D0%B0%D0%B7%D1%83%20%E2%80%9E%D0%94%D0%B0%2C%20%D0%B4%D0%B5%D0%BB%D0%B0%D0%B9%2C%20%D0%BA%D0%B0%D0%BA%20%D1%8F%20%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D1%8E!%E2%80%9C%C2%BB%20%D0%B2%20bash.png)
Мой скрипт заменяет sysvinit на systemd внутри chroot при сборке образа Debian с помощью debootstrap.
Поскольку это «опасное» действие, apt-get задаст глупый вопрос: «Чтобы продолжить, введите фразу «Да, делай, как я говорю!»»
Как мне написать ответ на этот вопрос?
EDIT: Я перепробовал все параметры -y --yes --force-yes, но они не работают.
решение1
Странно, но кажется, что даже спрашиваешь --force-yes
:
apt-get remove -y --force-yes systemd
Однако,
echo 'Yes, do as I say!' | apt-get remove systemd
сработали аккуратно.
решение2
У apt-get есть -y, --yes, --assume-yes
переключатель:
Automatic yes to prompts; assume "yes" as answer to all prompts and
run non-interactively. If an undesirable situation, such as
changing a held package, trying to install a unauthenticated
package or removing an essential package occurs then apt-get will
abort. Configuration Item: APT::Get::Assume-Yes.
или, в качестве альтернативы, --force-yes
переключатель:
Force yes; this is a dangerous option that will cause apt to
continue without prompting if it is doing something potentially
harmful. It should not be used except in very special situations.
Using force-yes can potentially destroy your system! Configuration
Item: APT::Get::force-yes
http://manpages.ubuntu.com/manpages/utopic/man8/apt-get.8.html