Я пытаюсь установить MySQL на Ubuntu Natty из сценария оболочки. Однако я продолжаю сталкиваться с одной большой проблемой: когда я пытаюсь определить пароль вне сценария оболочки.
Ниже приведен код моего сценария оболочки (который я сохранил в /etc/init.d/install_mysql:
export DEBIAN_FRONTEND=noninteractive
echo mysql-server-5.1 mysql-server/root_password password $dbpass | debconf-set-selections
echo mysql-server-5.1 mysql-server/root_password_again password $dbpass | debconf-set-selections
apt-get -y install mysql-server
Итак, что я ввожу в терминал:
dbpass="mysqlpass"
chmod +x /etc/init.d/install_mysql
/etc/init.d/install_mysql
MySQL устанавливается, но устанавливается без пароля, поэтому я могу просто сделать что-то вроде mysql -uroot
для доступа к mysql (что мне не нужно).
Забавно, если я введу пароль в сценарии оболочки как обычный текст, он будет работать нормально. Так что, если мой сценарий установки выглядит следующим образом, все работает (т.е. я должен указать пароль для доступа к mysql):
export DEBIAN_FRONTEND=noninteractive
echo mysql-server-5.1 mysql-server/root_password password mysqlpass | debconf-set-selections
echo mysql-server-5.1 mysql-server/root_password_again password mysqlpass | debconf-set-selections
apt-get -y install mysql-server
Можно ли использовать переменную сценария оболочки для определения своего пароля в сценарии оболочки вместо буквального ввода пароля?!
Заранее спасибо.
EDIT:
Я только что отредактировал объявление переменной $dbpass="mysqlpass"
в dbpass="mysqlpass"
. Это была опечатка.