Мне нужно извлечь версию mysql в сценарий bash на CentOS 6 для проверки минимальных требований
Пример:
# mysql -V
mysql Ver 14.14 Distrib 5.5.43, for Linux (x86_64) using readline 5.1
# mysql -V
mysql Ver 14.14 Distrib 5.6.24, for Linux (x86_64) using EditLine wrapper
Должен ли я использовать что-то вроде mysql -V| grep ...
?
Для двух приведенных выше примеров, если вам нужна строка «14,14»:
mysql -V | awk '{print $3}'
Если нужна строка "5.x.x":
mysql -V | awk '{print $5}'
Однако я не могу гарантировать, что строки будут в одном формате во всех основных версиях. Кроме того, это, вероятно, также может быть выполнено с помощью sed
и какое-то умное регулярное выражение.
Если вы хотите проверить установленные RPM, вы можете использовать:
rpm -qi mysql | grep Version | awk '{print $3}'
[! 520] #
mysql --version|awk '{ print $5 }'|awk -F\, '{ print $1 }'
Выход:
5.5.41