Właśnie zainstalowałem PHP na Ubuntu Natty ze źródła.
Próbuję użyć PECL do zainstalowania dodatkowych modułów, takich jak APC i Memcache. Używam czegoś takiego:
pecl install apc
Jednak otrzymuję monity z prośbą o potwierdzenie.
Jak mogę użyć polecenia pecl, aby po prostu zaakceptować wartości domyślne? Widziałem coś takiego na pokładzie wiadomość: printf "yes\n" | pecl install pecl_http
. Jednak w przypadku APC oznaczałoby to odpowiedź twierdzącą w przypadku rzeczy, w których domyślnie nie jest (tak myślę).
Z góry dziękuję.
RUN pecl install apc
, w czasie kompilacji otrzymasz automatycznie wybrane wartości domyślne.Odpowiedzi:
Poniższy kod wydaje się działać poprawnie:
printf "\n" | pecl install apc
Możesz również zastąpić apc dowolnym innym pakietem PECL.
Twoje zdrowie.
źródło
yes | pecl install memcache
- chociaż przypuszczam, że twoje rozwiązanie działa lepiej dla pakietów, w których domyślnym ustawieniem jest coś innego niż „tak”Polecenie „tak” może zrobić więcej niż tylko wpisanie „tak”; może pisać, co chcesz, w kółko. Dołączanie pustego wiersza, co jest dobrym sposobem na zaakceptowanie wartości domyślnych.
Po prostu tego potrzebowałem, więc oto, co działało dobrze:
yes '' | pecl install -f apc
źródło
"yes\n" | pecl install -f apc
?!yes
polecenia. Zaletą tego rozwiązaniaprintf
jest to, że generuje dane wyjściowe wielokrotnie, co czyni go bardziej przenośnym, gdyby instalator pecl poprosił o dodatkowe pytania, niżprintf
oczekiwano w skrypcie .Odpowiedź Obinwanne's Hill przydała mi się, więc nie przedstawiam tutaj nic nowego, ale poniższe wydaje się być absolutnie najkrótsze, również bez żadnych wymyślnych narzędzi.
echo '' | pecl install apc
źródło
pecl install apc <<<''