Cara lebih pendek untuk memasang apt-get install php7.0- {some modules}

8

Saya sedang menginstal php7.0 dan bertanya-tanya apakah ada cara yang lebih pendek untuk menginstal modul. biasanya saya mengetik:

    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

Apakah ada ekspresi reguler sehingga Anda tidak perlu mengetikkan php7.0 lagi dan lagi? Sesuatu seperti:

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

Saya mencari sesuatu seperti ini selama berjam-jam tetapi tidak dapat menemukannya. Di muka, terima kasih atas balasan Anda.

Joris Rietveld
sumber
1
Bagaimana dengan apt-get install php7*? Cukup pendek? Tapi itu hanya akan menginstal semua paket php7 yang mungkin.
Videonauth
@ Videoonauth lebih buruk - ini akan menginstal semua paket yang berisi phpnama paket mana saja.
muru

Jawaban:

14

Seperti yang disarankan @Videonauth, Anda dapat menggunakan apt-get install php7.*tetapi itu akan menginstal semua paket yang berisi nama php7. Untuk menginstal mereka yang namanya mulai php7, gunakan apt-get install '^php7. *. Untuk memasang hanya yang ada di daftar Anda, Anda dapat menggunakan ekspansi brace. Formatnya hampir seperti apa yang sudah Anda coba: kurung tetapi daftar yang dipisahkan koma:

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

Karena itu:

$ 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

Jadi, Anda bisa menjalankan:

sudo apt-get install php7.0-{fpm,mbstring,mcrypt,phpdbg,dev,curl,sqlite3,json,gd,cli}
terdon
sumber
He he, tidak yakin tentang apakah ekspansi brace itu akan berhasil, jadi saya hanya berkomentar.
Videonauth
@Videonauth ya, benar, mereka hanya butuh ruang. Anda juga dapat melakukan hal-hal seperti echo {1..10}atau echo {01..10}. Hal yang berguna.
terdon
Tidak, php7* tidak menginstal paket yang dimulai dengan php7. apt-getmenggunakan ekspresi reguler, bukan wildcard. Kecuali Anda memiliki file bernama php7-foodalam direktori Anda saat ini, php7*akan diteruskan oleh shell untuk apt-get, yang akan memperlakukannya sebagai regex dan mencocokkannya atas seluruh nama paket. Jadi setiap paket yang berisi phpnamanya akan dipilih untuk instalasi. Orang-orang telah digigit
muru
@muru eek! Terima kasih, saya sudah lupa ..
terdon
@terdon bukan hanya itu ., Anda harus ^
mengaitkan