Et si vous essayiez le which
commande ?
Si tu devais exécuter which psql
et que Postgres n'est pas installé, il ne semble pas y avoir de sortie. Vous obtenez juste l'invite du terminal prête à accepter une autre commande :
> which psql
>
Mais si Postgres est installé, vous obtiendrez une réponse contenant le chemin d'accès à l'emplacement de l'installation de Postgres :
> which psql
/opt/boxen/homebrew/bin/psql
Regarder man which
il semble également exister une option qui pourrait vous aider :
-s No output, just return 0 if any of the executables are found, or
1 if none are found.
Il semble donc que tant que le langage de script que vous utilisez peut exécuter une commande de terminal, vous pouvez envoyer which -s psql
et utiliser la valeur de retour pour déterminer si Postgres est installé. À partir de là, vous pouvez imprimer ce résultat comme vous le souhaitez.
J'ai installé postgres sur ma machine et j'exécute la commande suivante
> which -s psql
> echo $?
0
qui me dit que la commande a retourné 0, indiquant que l'exécutable Postgres a été trouvé sur ma machine.
Voici les informations sur l'utilisation de echo $?
0 votes
Que voulez-vous dire par "PostgreSQL est installé" ? Le client Pgsql ? Bibliothèques du client ? Serveur Pgsql ?
0 votes
Voir aussi ces commandes BASH génériques : stackoverflow.com/a/677212/1736679