ติดตั้งโมดูล PECL โดยไม่ต้องแจ้ง


91

ฉันเพิ่งติดตั้ง PHP บน Ubuntu Natty จากแหล่งที่มา

ฉันกำลังพยายามใช้ PECL เพื่อติดตั้งโมดูลเพิ่มเติมเช่น APC และ Memcache ฉันกำลังใช้สิ่งนี้:

pecl install apc

อย่างไรก็ตามฉันได้รับข้อความแจ้งให้ฉันยืนยันสิ่งต่างๆ

ฉันจะใช้คำสั่ง pecl เพื่อยอมรับค่าเริ่มต้นได้อย่างไร ฉันเห็นสิ่งนี้บนกระดานข้อความ:printf "yes\n" | pecl install pecl_http . อย่างไรก็ตามในกรณีของ APC สิ่งนี้จะตอบว่าใช่สำหรับสิ่งที่ค่าเริ่มต้นคือไม่ใช่ (ฉันคิดว่า)

ขอบคุณล่วงหน้า.


1
@Gordon: ฉันลองแล้ว แต่ดูเหมือนจะไม่มีทางจัดการสำหรับสิ่งที่ฉันต้องการ
Obinwanne Hill

1
สำหรับกรณีที่ยอมรับค่าดีฟอลต์ในโหมดที่ไม่ใช่แบบโต้ตอบไม่จำเป็นต้องใช้ PECL prompt ตัวอย่างเช่นหากคุณเพิ่มลงใน Dockefile RUN pecl install apcในเวลาสร้างคุณจะได้รับค่าเริ่มต้นที่เลือกโดยอัตโนมัติ
Dereckson

คำตอบ:


83

ดูเหมือนว่ารหัสต่อไปนี้จะใช้งานได้:

printf "\n" | pecl install apc

คุณยังสามารถแทนที่ apc ด้วยแพ็คเกจ PECL อื่น ๆ

ไชโย


8
ฉันประสบความสำเร็จด้วยเช่นกันyes | pecl install memcache- แม้ว่าฉันคิดว่าโซลูชันของคุณทำงานได้ดีขึ้นสำหรับแพ็คเกจที่ค่าเริ่มต้นเป็นอย่างอื่นที่ไม่ใช่ "ใช่"
Frank Farmer

1
ขอบคุณเพื่อนสิ่งนี้ยังใช้ได้กับCircleCI
Jujhar Singh เมื่อ

79

คำสั่ง "ใช่" ทำได้มากกว่าแค่พิมพ์ "ใช่"; มันสามารถพิมพ์อะไรก็ได้ที่คุณต้องการซ้ำแล้วซ้ำเล่า รวมถึงบรรทัดว่างซึ่งเป็นวิธีที่ดีในการยอมรับค่าเริ่มต้น

ฉันแค่ต้องการสิ่งนี้ด้วยตัวเองดังนั้นนี่คือสิ่งที่ใช้ได้ดีสำหรับฉัน:

yes '' | pecl install -f apc

ขอบคุณสำหรับข้อมูล Tom รหัสของคุณควรเป็น"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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.