检查 UBUNTU 上是否安装了 NGINX

8 bash nginx ubuntu

是否有任何命令可以使用 bash 命令/脚本检查 NGINX 是否已安装在 UBUNTU Linux 上?

我正在尝试这样的事情

echo "BEGINNING INSTALLATION OF NGINX WEB SERVER"
echo
echo
echo "CHECKING TO SEE IF NGINX IS ALREADY INSTALLED"
service nginx > temp.install 2> temperr.install
echo 111
grep -c unrecognized temperr.install > temp2.install
echo 222
status = `cat temp2.install`
echo "NGINX STATUS $status" 
Run Code Online (Sandbox Code Playgroud)

我是 bash 脚本的新手,因此不确定这是否是解决此问题的最佳方法。我需要编写一个脚本来检查 NGINX 是否已经安装。如果它没有安装它只是安装 NGINX 否则它首先删除 NGINX 然后重新安装它。

小智 11

if ! which nginx > /dev/null 2>&1; then
    echo "Nginx not installed"
fi
Run Code Online (Sandbox Code Playgroud)

或者

if [ ! -x /usr/sbin/nginx ]; then
    echo "Nginx not installed"
fi
Run Code Online (Sandbox Code Playgroud)

或者如果你想成为 Debian/Ubuntu 特定的:

if ! dpkg -l nginx | egrep 'îi.*nginx' > /dev/null 2>&1; then
    echo "Nginx not installed"
fi
Run Code Online (Sandbox Code Playgroud)

如果你喜欢整个简洁的事情:

! test -x /usr/sbin/nginx && echo "Nginx not installed"
Run Code Online (Sandbox Code Playgroud)