Лучший способ получить все возможные php версии, которые можно установить - PullRequest
0 голосов
/ 28 мая 2020

Я работаю над тем, как выбрать предпочитаемую версию PHP для сценария установки VestaCP. Я хочу, чтобы сценарий определял, какие версии PHP доступны в качестве вариантов для установки, и позволял человеку, устанавливающему VestaCP, выбирать, какую доступную версию он хочет установить, на основе доступных версий из репозиториев в своих системах по адресу время установки.

Команда, которую я выдаю, чтобы получить ТОЛЬКО номера версий для php, отлично работает:

apt-cache showpkg php | grep -A 20 'Reverse Provides' | grep -P '^php' | colrm 7 | sort -u

apt-cache showpkg дает мне ВСЕ доступные версии (не только кандидаты)

grep -A 20 дают мне 20 (произвольное число достаточно большое) строк из раздела Reverse Provides, избавляясь от остальных, которые меня не волнуют

grep -P дает мне только строки из этого раздела, которые начинаются с php

colrm отсекает все, кроме фактических номеров версий

sort дает мне только уникальные значения ( поскольку несколько репозиториев предлагают одинаковые php версии)

Результат точно такой, как вы хотели:

php5.6
php7.0
php7.1
php7.2
php7.3
php7.4

Мой вопрос: есть ли лучший способ сделать это? Кажется, много труб и много шагов для выполнения sh такой простой задачи. Это будут почти исключительно системы Ubuntu / Debian / CentOS / RHEL, на которых он будет работать. .

...