Более короткий способ apt-get установить php7.0- {некоторые модули}

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 хуже - он установит все пакеты, содержащие phpгде-либо в имени пакета.
Муру

Ответы:

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}
terdon
источник
Он, он не был уверен, сработают ли эти расширения скобок, поэтому я только прокомментировал.
Видеонавт
@ Videonauth Да, они просто нуждаются в пространстве. Вы также можете делать такие вещи, как echo {1..10}или echo {01..10}. Полезные вещи.
Тердон
Нет, php7* не устанавливает пакеты, начиная с php7. apt-getиспользует регулярные выражения, а не подстановочные знаки. Если у вас нет файлов с именами php7-fooв текущем каталоге, php7*оболочка будет передана ей apt-get, которая будет обрабатывать его как регулярное выражение и сопоставлять его по всему имени пакета. Таким образом, каждый пакет, содержащий phpего имя, будет выбран для установки. Люди неоднократно были этим обеспокоены
muru
@ Муру еек! Спасибо, я забыл ..
Тердон
@terdon не только ., вам нужно будет закрепить выражение с помощью^
muru