Нужно написать сценарий кросс-дистрибутивной / кросс-версии, который обеспечит установку принудительной версии PHP
Пример: Ubuntu 12.04 имеет 5,3, Ubuntu 13.10 имеет 5,5, Debian 7 имеет 5,4
Мне нужен этот сценарий, когда он запускается в дистрибутиве, который имеет старую версию PHP, чтобы обновить репозиторий, чтобы он указывал на пакет для 5.4, и, если дистрибутив имеет слишком новую версию, может соответственно понизиться до 5.4.
Я до сих пор не совсем разбираюсь в технических ограничениях Shell/Terminals относительно того, что вы можете с ним делать, но, честно говоря, не буду полностью откровенен, что я до сих пор не полностью привык к существующим инструментам
Лучшее, что я могу думать на данный момент: php -v | grep "PHP 5"
но это возвращает кучу потенциально изменяемых гранулированных символов (PHP 5.4.4-14+deb7u5 (cli) (built: Oct 3 2013 09:24:58) )
. Я не уверен, к чему обратиться после этого, чтобы извлечь персонажей, которые меня интересуют
Я не уверен, если я полностью ясен, я не уверен, как спросить это .. Как правило, в сценарии автоматической оболочки для дистрибутивов Linux, как извлечь версию PHP (и желательно только номер версии PHP) и принять решение на основе этого вывода
РЕДАКТИРОВАТЬ
Эта линия в конечном итоге делает чертовски хорошо
php -v | grep "PHP 5" | sed 's/.*PHP \([^-]*\).*/\1/' | cut -c 1-3
Немного длиннее в зубе, но дает мне "5.3", "5.4" и "5.5", что именно то, что мне нужно для работы