2013-05-17 9 views
6

mieć szybki pytanie,Jak odpowiedzieć tak w Bash Script

wyobrazić, że mam ten kod:

mkdir -p $INSTALLDIR 
sudo apt-get install -y git clojure leiningen 
git clone git://github.com/maltoe/storm-install.git 
./storm-install/storm_install.sh all `hostname` $INSTALLDIR 

a ten skrypt zapyta, czy chcesz zainstalować dodatkowe pakiety, a ja chcę powiedzieć yes, Jak zrobić to automatycznie?

A może jest jakiś sposób, aby domyślnie odpowiedzieć tak na każde pytanie?

+4

[tak] (http://linux.die.net/man/1/yes), jest. – hammar

Odpowiedz

4

zakładać burza zadaje pytanie - użyj tutaj dokument - przykład:

mkdir -p $INSTALLDIR 
sudo apt-get install -y git clojure leiningen 
git clone git://github.com/maltoe/storm-install.git 
./storm-install/storm_install.sh all `hostname` $INSTALLDIR <<-EOF 
yes 
EOF 

EOF może być dowolne znaki nonsense powłoka nie zinterpretuje.

+0

Awesome! to działa! – Vor

5

Z polecenia odpowiednio o nazwie yes

+1

E.g. Tak | command.sh –

3

apt ma również --force-yes opcji, które mogą być pomocne:

--force-yes 
     Force yes; This is a dangerous option that will cause apt to 
     continue without prompting if it is doing something potentially 
     harmful. It should not be used except in very special situations. 
     Using force-yes can potentially destroy your system! Configuration 
     Item: APT::Get::force-yes. 
+0

Dziękuję, jest to fajna opcja – Vor

5

ja nie wiem, ale radzę spróbować:

echo yes | ./storm-install/storm_install.sh all `hostname` $INSTALLDIR 
+0

naprawdę działa, dziękuję –

4

Jeśli używasz skryptu, spróbuj tego:

yes "yes" | bash script.sh 
2

Mam skrypt musi przejść "tak" przez kilka razy, a na końcu możemy trzeba przekazać "numer wersji", aby móc wdrożyć do nexusa. Jakieś sugestie?

0
(echo yes ; echo no; echo yes) | script.sh 
Powiązane problemy