2017-04-13 7 views
0

그래서 각각의 서버마다 mysql-server가 필요한 여러 서버를 설정해야합니다. 암호를 입력해야하는 whiptail의 입력을 입력하기 위해 쉘 스크립트를 작성하기로 결정했습니다. bash 스크립트를 작성했지만 whiptail 페이지에 도달했을 때 응답이 없으므로 누구나이 스크립트를 사용할 수 있습니까? 감사합니다커밋 (commhe)과 라인을 사용하여 whiptail에 대한 입력을 제공하는 방법

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

먼저는 sudo는 apt-get을 설치하는 여부에 대해 질문 또는 네 공급하지,하지만 그것이 채찍 꼬리에 왔을 때 그것이 어떤 수 있어야로 모든 입력을 제공하지 않는 경우 mypassword

enter image description here

+0

이해하지 못합니다. 나는 위의 "whiptail"호출을 보지 못했습니다. 'sudo'가 암호를 표준 입력으로받지 않는 이유는 'man sudo'를 읽고'-S' 또는'-A'에 대해 알아보십시오. – jm666

+0

@ jm666 안녕하세요. 내 질문을 업데이트했습니다. – dramasea

답변

0

오히려 채찍 꼬리에 입력을 제공하는 대신, 당신은 설치하는 동안 프롬프트를 생략하기 위해이 같은 apt-get install을 실행할 수 있습니다

DEBIAN_FRONTEND="noninteractive" apt-get install -y mysql-server 
당신은뿐만 아니라 루트 암호를 제공하려면3210

,이 작업을 수행 할 수 있습니다

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 

테이크 치료를하지 실수로 루트 암호를 노출하는 (즉, 그것이 당신의 역사에 끝나지 않는지, 그것을 포함하고있는 어떤 스크립트 파일이라도 안전하게 지워지는지 확인하십시오, 다른 것들도있을 것입니다).

이 정보는 here입니다.