Как обеспечить ввод для Whiptail с помощью commhe и линии

Итак, мне нужно настроить несколько серверов, для которых требуется mysql-сервер на каждом из них. Я решил написать сценарий оболочки для ввода ввода в whiptail, который требует от пользователя ввода пароля. Я написал скрипт bash, но он просто не отвечает, когда достигает страницы whiptail, кто-нибудь может мне помочь с этим? Спасибо

#!/bin/bash
sudo apt-get install mysql-server <<< "yes
mypassword
"

Сначала, когда sudo apt-get спрашивает о том, устанавливать ли он или нет, да, но затем, когда дело дошло до гибрида, он не дает никакой информации, как это должно быть. mypassword

1 ответ

Решение

Вместо того, чтобы вводить данные в whiptail, вы можете запустить apt-get install вот так, чтобы пропустить подсказки во время установки:

DEBIAN_FRONTEND="noninteractive" apt-get install -y mysql-server

Если вы также хотите предоставить пароль root, вы можете сделать это:

export DEBIAN_FRONTEND="noninteractive"

sudo debconf-set-selections <<< "mysql-server mysql-server/root_password password myrootpw"
sudo debconf-set-selections <<< "mysql-server mysql-server/root_password_again password myrootpw"

sudo apt-get install -y mysql-server

Позаботьтесь о том, чтобы случайно не раскрыть свой пароль root (т.е. убедиться, что он не останется в вашей истории, безопасно удалить все файлы сценариев, содержащие его, я уверен, что есть и другие).

Я нашел эту информацию здесь.

Другие вопросы по тегам