Tente isto:
#!/usr/bin/env bash
Servers_list=/opt/servers_list
for Host in $(< $Servers_list )
do
echo "Installing package on $Host"
ssh "${Host}" "echo 'mysql-server-5.7 mysql-server/root_password password your_password' | debconf-set-selections && \
echo 'mysql-server-5.7 mysql-server/root_password_again password your_password' | debconf-set-selections && \
apt-get update && \
apt-get -y install apache2 apache2-doc apache2-utils mysql-server"
done
Se você tem muito servidor, considere usar uma ferramenta como ansible ou fantoche.
Editar:
- Barra invertida (\) são usadas para legibilidade. Eles permitem continuar o comando em uma próxima linha. O operador
- AND (& amp; & amp;) é usado para executar muitos comandos na mesma linha. Se um falhar, o próximo não será executado.
- debconf-set-selections é usado para predefinir as configurações. Neste caso: senha. Você pode encontrar mais informações dentro da página man, digitando:
man debconf-set-selections
dentro do terminal.