Maneira mais curta de apt-get install php7.0- {alguns módulos}

8

Atualmente, estou instalando o php7.0 e queria saber se existe uma maneira mais curta de instalar os módulos. normalmente eu digito:

    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

Existe uma expressão regular para que você não precise digitar php7.0 repetidamente? Algo como:

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

Procurei algo assim por horas, mas não consegui encontrá-lo. Agradecemos antecipadamente a sua resposta.

Joris Rietveld
fonte
1
Que tal apt-get install php7*? Curto o suficiente? Mas ele simplesmente instalará todos os pacotes php7 possíveis.
Videonauth
@Videonauth pior - instalará todos os pacotes que contêm phpqualquer lugar no nome do pacote.
Muru

Respostas:

14

Como o @Videonauth sugeriu, você pode usar, apt-get install php7.*mas isso instalará todos os pacotes cujos nomes contenham php7. Para instalar aqueles cujos nomes começam php7, use apt-get install '^php7. *. Para instalar apenas os da sua lista, você pode usar a expansão de chaves. O formato é quase o que você já tentou: chaves, mas uma lista separada por vírgula:

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

Portanto:

$ 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

Então, você pode executar:

sudo apt-get install php7.0-{fpm,mbstring,mcrypt,phpdbg,dev,curl,sqlite3,json,gd,cli}
Terdon
fonte
Ele, ele não tinha certeza se essas expansões de cinta funcionarão, então eu apenas comentei.
Videonauth 12/06/16
@Videonauth sim, eles precisam, eles só precisam de espaço. Você também pode fazer coisas como echo {1..10}ou echo {01..10}. Coisas úteis.
terdon 12/06/16
Não, php7* não instala pacotes começando com php7. apt-getusa expressões regulares, não curingas. A menos que você tenha arquivos nomeados php7-foono diretório atual, php7*eles serão passados ​​pelo shell para apt-get, que o tratará como um regex e o corresponderá ao nome do pacote inteiro. Portanto, todo pacote que contém phpseu nome será selecionado para instalação. As pessoas têm se impressionado
muru
@muru eek! Obrigado, eu tinha esquecido o ..
terdon
@terdon não apenas o ., você vai precisar para ancorar a expressão com^
Muru