bash — Получение версии PHP для текущей версии

Я только что собрал 3 разные версии PHP из исходного кода на сервере Ubuntu (наряду с NGINX и MySQL 5.7). Я ищу способ бегать php --ini для текущей работающей версии. Я знаю, что должен добавить местоположение в файл PATH в .bashrc поэтому мне не нужно добавлять полный путь.

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

# parallels@ubuntu:~$ ps aux | grep php
# root      6948  0.0  0.2 153724  4620 ?        Ss   16:48   0:00 php-fpm: master process (/opt/php-7.0.0/etc/php-fpm.conf)

PHP_VERSION=$(ps aux | grep -o php-[[:digit:]].[[:digit:]].[[:digit:]])
export PATH="/bin:/usr/bin:/opt/$PHP_VERSION/bin:/sbin"

Это работает, но я новичок в Bash и думаю, что это может быть другой способ сделать это. Буду ли я прав?

1

Решение

PHP_VERSION=$(php -v | tail -r | tail -n 1 | cut -d " " -f 2 | cut -c 1-3)
cd /usr/local/etc/php/$PHP_VERSION/
# cd /usr/local/etc/php/7.1/
2

Другие решения

Я получил его для работы со следующими командами:

# Full version
php -v | head -n 1 | cut -d " " -f 2

# Major.Minor version
php -v | head -n 1 | cut -d " " -f 2 | cut -f1-2 -d"."
1

должен быть в состоянии сделать это с помощью awk.

php -v | awk 'NR<=1{ print $2 }'

напечатать второй столбец из первой строки ввода.

-1
По вопросам рекламы [email protected]