Встановіть модулі PECL без підказок


90

Я щойно встановив PHP на Ubuntu Natty із джерела.

Я намагаюся використовувати PECL для встановлення додаткових модулів, таких як APC та Memcache. Я використовую щось подібне:

pecl install apc

Однак я отримую підказки з проханням підтвердити щось.

Як я можу використовувати команду pecl, щоб просто прийняти значення за замовчуванням? Я бачив , що - щось на зразок цього на дошці оголошень: printf "yes\n" | pecl install pecl_http. Однак у випадку APC це відповідає позитивно для речей, де за замовчуванням немає (я думаю).

Заздалегідь спасибі.


1
@Gordon: Я спробував це, але, здається, немає ручки для того, що мені потрібно.
Obinwanne Hill

1
У випадку, коли значення за замовчуванням є прийнятними, у неінтерактивному режимі запит PECL не потрібен. Наприклад, якщо ви додасте до Dockefile RUN pecl install apc, під час збірки ви автоматично отримаєте значення за замовчуванням.
Дерексон,

Відповіді:


83

Здається, такий код працює нормально:

printf "\n" | pecl install apc

Ви також можете замінити apc будь-яким іншим пакетом PECL.

На ура


8
Я також бачу успіх з yes | pecl install memcache- хоча, я гадаю, ваше рішення працює краще для пакетів, де за замовчуванням є щось інше, ніж "так"
Frank Farmer

1
Дякую, чувак, це навіть спрацювало з CircleCI
Джуджхар Сінгх

79

Команда "так" може зробити більше, ніж просто ввести "так"; він може вводити все, що завгодно, знову і знову. Включаючи порожній рядок, що є хорошим способом прийняти за замовчуванням.

Мені це просто потрібно було мені самому, тож ось що мені вдало:

yes '' | pecl install -f apc

Дякуємо за вступ, Томе. Чи повинен був бути ваш код "yes\n" | pecl install -f apc?!
Obinwanne Hill

4
@ObinwanneHill: Том мав на увазі yesкоманду. Перевага цього в printfтому, що він генерує вихід багаторазово, що робить його більш портативним, якщо програма встановлення pecl запитує додаткові запитання, ніж printfочікував ваш сценарій .
jmikola

@jmikola О, я розумію, не був знайомий з цією командою. Дякую
Obinwanne Hill

8

Відповідь на Obinwanne's Hill мені це вдалося, тому я не пропоную тут нічого нового, але наступне здається абсолютно коротким також без будь-яких вигадливих інструментів.

echo '' | pecl install apc

6
Коротшою альтернативою для досягнення того самого результату є:pecl install apc <<<''
Guss
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.