如果在Linux上安装了PostgreSQL,我想检查脚本并打印结果.有关如何进行检查的任何建议?
尝试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 $?
如果它是基于debian的.
aptitude show postgresql | grep State
但我想你可以尝试用一些标志来启动它--version
,只需打印一些信息并退出.
使用"service postgres status" 更新.尝试:
service postgres status if [ "$?" -gt "0" ]; then echo "Not installed". else echo "Intalled" fi
没有直接的方法来做到这一点.您所能做的就是检查软件包管理器(rpm,dpkg)或探测所需文件的某些可能位置.或者您可以尝试连接到可能的端口(5432)并查看是否获得PostgreSQL协议响应.但这一切都不会非常强大.您可能想要查看您的要求.