Kürzere Möglichkeit zur Installation von apt-get php7.0- {einige Module}

8

Ich installiere gerade php7.0 und habe mich gefragt, ob es einen kürzeren Weg gibt, die Module zu installieren. Normalerweise tippe ich:

    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

Gibt es einen regulären Ausdruck, damit Sie nicht immer wieder php7.0 eingeben müssen? Etwas wie:

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

Ich habe stundenlang nach so etwas gesucht, konnte es aber nicht finden. Im Voraus vielen Dank für Ihre Antwort.

Joris Rietveld
quelle
1
Was ist mit apt-get install php7*? Kurz genug? Aber es werden einfach alle möglichen PHP7-Pakete installiert.
Videonauth
@Videonauth schlimmer - es werden alle Pakete installiert, die phpirgendwo im Paketnamen enthalten sind.
Muru

Antworten:

14

Wie von @Videonauth vorgeschlagen, können Sie verwenden, apt-get install php7.*aber dadurch werden alle Pakete installiert, deren Namen enthalten php7. php7Verwenden Sie, um diejenigen zu installieren, deren Namen mit beginnen apt-get install '^php7. *. Um nur diejenigen auf Ihrer Liste zu installieren, können Sie die Klammererweiterung verwenden. Das Format ist fast das, was Sie bereits versucht haben: geschweifte Klammern, aber eine durch Kommas getrennte Liste:

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

Deshalb:

$ 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

Sie könnten also rennen:

sudo apt-get install php7.0-{fpm,mbstring,mcrypt,phpdbg,dev,curl,sqlite3,json,gd,cli}
Terdon
quelle
Er war sich nicht sicher, ob diese Zahnspangenerweiterungen funktionieren würden, also habe ich nur kommentiert.
Videonauth
@Videonauth yup, sie tun, sie brauchen nur Platz. Sie können auch Dinge wie echo {1..10}oder tun echo {01..10}. Nützliches Zeug.
Terdon
Nein, installiert php7* keine Pakete, die mit beginnen php7. apt-getverwendet reguläre Ausdrücke, keine Platzhalter. Sofern Sie keine Dateien php7-fooin Ihrem aktuellen Verzeichnis haben, php7*werden diese von der Shell an übergeben apt-get, wodurch sie als regulärer Ausdruck behandelt und über den gesamten Paketnamen abgeglichen wird. Daher wird jedes Paket, das phpseinen Namen enthält , für die Installation ausgewählt. Die Leute wurden wiederholt davon gebissen
muru
@muru eek! Danke, ich hatte das vergessen ..
Terdon
@terdon nicht nur die ., müssen Sie den Ausdruck mit^
muru