2015-04-18 105 views
1

例如,安裝MySQL時我想自動運行一些命令,並回答幾個問題:Ubuntu自動安裝sh腳本,如何通過apt-get或其他命令來解答配置選項?

$ sudo mysql_secure_installation 
Enter current password for root (enter for none): Type root password 
Change the root password? N 
Remove anonymous users? Y 
Disallow root login remotely? Y 
Remove test database and access to it? Y 
Reload privilege tables now? Y 

我要作出這樣的安裝,並自動提供答案配置問題的腳本。我如何根據設置變量傳遞MySQL配置例程值?

編輯[2015年4月18日]:

找到了一個方法:

echo -e "\npassword1\ny\npassword2\npassword2\ny\ny\ny\ny" | sudo /usr/bin/mysql_secure_installation 

它有點混亂,但工作,但我認爲hek2mgl答案是更具可讀性。

+2

請不要加「[解決]」的稱號。你表示通過接受答案已經解決了問題。 –

+0

好的,對不起,:) –

回答

1

你可以寫答案到命令的標準輸入:

# Generate password somehow 
password="$(pwgen -S)" 

# Pass input to the installer using a here-document 
sudo mysql_secure_installation <<EOF 
$password 
N 
Y 
Y 
Y 
Y 
EOF