วิธีที่สั้นกว่าสำหรับ apt-get install php7.0- {some modules}


8

ฉันกำลังติดตั้ง php7.0 และสงสัยว่ามีวิธีที่สั้นกว่าในการติดตั้งโมดูล ปกติฉันพิมพ์:

    apt-get install php7.0 php7.0-fpm php7.0-mbstring php7.0-mcrypt 
     php7.0-phpdbg php7.0-dev php7.0-curl php7.0-sqlite3 php7.0-json 
     php7.0-gd php7.0-cli

มีการแสดงออกปกติดังนั้นคุณไม่ต้องพิมพ์ php7.0 ซ้ำแล้วซ้ำอีก? สิ่งที่ต้องการ:

   apt-get install php7.0-{fpm mbstring mcrypt phpdbg dev curl sqlite3 
    json gd cli}

ฉันค้นหาสิ่งนี้เป็นเวลาหลายชั่วโมง แต่ไม่พบ ขอบคุณล่วงหน้าสำหรับคำตอบของคุณ


1
เกี่ยวกับapt-get install php7*อะไร สั้นพอไหม แต่มันจะติดตั้งแพ็คเกจ php7 ที่เป็นไปได้ทั้งหมด
Videonauth

@Videonauth แย่ลง - มันจะติดตั้งแพ็คเกจทั้งหมดที่มีที่phpใดก็ได้ในชื่อแพ็คเกจ
muru

คำตอบ:


14

ตามที่ @Videonauth แนะนำคุณสามารถใช้apt-get install php7.*แต่จะติดตั้งแพ็คเกจทั้งหมดที่มีชื่อphp7อยู่ การติดตั้งเริ่มต้นผู้ที่มีชื่อที่มีการใช้งานphp7 apt-get install '^php7. *หากต้องการติดตั้งเฉพาะในรายการของคุณคุณสามารถใช้การขยายรั้ง รูปแบบเกือบเป็นสิ่งที่คุณได้ลองแล้ว: วงเล็บปีกกา แต่เป็นรายการที่คั่นด้วยเครื่องหมายจุลภาค:

$ echo foo{a,b,c}
fooa foob fooc

ดังนั้น:

$ echo php7.0-{fpm,mbstring,mcrypt,phpdbg,dev,curl,sqlite3,json,gd,cli}
php7.0-fpm php7.0-mbstring php7.0-mcrypt php7.0-phpdbg php7.0-dev php7.0-curl php7.0-sqlite3 php7.0-json php7.0-gd php7.0-cli

ดังนั้นคุณสามารถเรียกใช้:

sudo apt-get install php7.0-{fpm,mbstring,mcrypt,phpdbg,dev,curl,sqlite3,json,gd,cli}

เขาเขาไม่แน่ใจว่าการขยายรั้งเหล่านั้นจะได้ผลหรือไม่ดังนั้นฉันจึงแสดงความคิดเห็นเท่านั้น
Videonauth

@Videonauth yup พวกเขาทำพวกเขาแค่ต้องการพื้นที่ นอกจากนี้คุณยังสามารถทำสิ่งที่ต้องการหรือecho {1..10} echo {01..10}สิ่งที่มีประโยชน์
terdon

ไม่มีphp7* ไม่ได้php7ติดตั้งแพคเกจเริ่มต้นด้วย apt-getใช้นิพจน์ทั่วไปไม่ใช่ wildcard หากคุณไม่มีไฟล์ที่มีชื่อphp7-fooอยู่ในไดเรกทอรีปัจจุบันของคุณphp7*จะถูกส่งผ่านโดยเชลล์ไปยังapt-getซึ่งจะถือว่าเป็น regex และจับคู่กับชื่อแพ็กเกจทั้งหมด ดังนั้นทุกแพ็คเกจที่มีphpชื่อจะถูกเลือกสำหรับการติดตั้ง ผู้คนได้รับบิตโดยนี้ซ้ำ ๆ : askubuntu.com/questions/210976/…
muru

@muru eek! .ขอบคุณฉันลืม
terdon

@terdon ไม่เพียง แต่.คุณจะต้อง^
ยึดถือ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.