Как насчет попытки ввода команды which
?
Если вы запустили which psql
, а Postgres не установлен, то, похоже, ничего не выводится. Вы просто получаете приглашение терминала принять другую команду:
> which psql
>
Но если Postgres установлен, вы получите ответ с указанием пути к месту установки Postgres:
> which psql
/opt/boxen/homebrew/bin/psql
Глядя на man which
, кажется, есть вариант, который может вам помочь:
-s No output, just return 0 if any of the executables are found, or
1 if none are found.
Таким образом, кажется, что любой используемый вами язык сценариев может выполнять команду терминала, которую вы можете отправить which -s psql
, и использовать возвращаемое значение, чтобы определить, установлен ли Postgres. Оттуда вы можете распечатать этот результат, как вам нравится.
На моем компьютере установлены postgres, поэтому я запускаю следующее
> which -s psql
> echo $?
0
, который сообщает мне, что команда вернула 0, указывая, что исполняемый файл Postgres был найден на моей машине.
Вот информация об использовании echo $?