Manière plus courte pour installer apt-get php7.0- {certains modules}

8

J'installe actuellement php7.0 et je me demandais s'il y avait un moyen plus court d'installer les modules. normalement je tape:

    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-t-il une expression régulière pour que vous n'ayez pas à taper php7.0 encore et encore? Quelque chose comme:

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

J'ai cherché quelque chose comme ça pendant des heures mais je ne l'ai pas trouvé. D'avance merci pour votre réponse.

Joris Rietveld
la source
1
Et alors apt-get install php7*? Assez court? Mais il installera simplement tous les packages php7 possibles.
Videonauth
@Videonauth pire - il installera tous les packages contenant phpn'importe où dans le nom du package.
muru

Réponses:

14

Comme l'a suggéré @Videonauth, vous pouvez utiliser apt-get install php7.*mais cela installera tous les packages dont les noms contiennent php7. Pour installer ceux dont le nom commence par php7, utilisez apt-get install '^php7. *. Pour installer uniquement ceux de votre liste, vous pouvez utiliser l'expansion d'accolade. Le format est presque ce que vous avez déjà essayé: des accolades mais une liste séparée par des virgules:

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

Donc:

$ 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

Vous pouvez donc exécuter:

sudo apt-get install php7.0-{fpm,mbstring,mcrypt,phpdbg,dev,curl,sqlite3,json,gd,cli}
terdon
la source
Il, lui, n'était pas sûr de savoir si ces extensions de corset fonctionneraient, alors j'ai seulement commenté.
Videonauth
@Videonauth yup, ils le font, ils ont juste besoin d'espace. Vous pouvez également faire des choses comme echo {1..10}ou echo {01..10}. Des trucs utiles.
terdon
Non, n'installe php7* pas les packages commençant par php7. apt-getutilise des expressions régulières, pas des caractères génériques. À moins que vous n'ayez des fichiers nommés php7-foodans votre répertoire actuel, php7*sera passé par le shell à apt-get, qui le traitera comme une expression régulière et le fera correspondre sur le nom complet du package. Ainsi, chaque paquet contenant phpson nom sera sélectionné pour l'installation. Les gens ont été mordus par cela, à plusieurs reprises: askubuntu.com/questions/210976/…
muru
@muru eek! Merci, j'avais oublié le ..
terdon
@terdon pas seulement le ., vous devrez ancrer l'expression avec^
muru