web-dev-qa-db-ja.com

NGINXがUBUNTUにインストールされているかどうかを確認します

Bashコマンド/スクリプトを使用して、UBINTU LinuxにNGINXがすでにインストールされているかどうかを確認するためのorコマンドはありますか?

私はこのようなことを試みていました

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" 

Bashスクリプティングは初めてなので、これがこれに取り組む最善の方法かどうかはわかりません。 NGINXがすでにインストールされているかどうかをチェックするスクリプトを作成する必要があります。インストールされていない場合は、NGINXをインストールするだけです。それ以外の場合は、NGINXを削除してから再インストールします。

7
if ! which nginx > /dev/null 2>&1; then
    echo "Nginx not installed"
fi

または

if [ ! -x /usr/sbin/nginx ]; then
    echo "Nginx not installed"
fi

または、Debian/Ubuntu固有になりたい場合:

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

簡潔にすることに興味がある場合:

! test -x /usr/sbin/nginx && echo "Nginx not installed"
10
Nanzikambe

これを試して:

command -v nginx

インストールされていない場合はインストール:

command -v nginx || Sudo apt install nginx
1
dima.rus

私は以下のソリューションを構築します。これはcronジョブでも実行されます

ISNGINX_INSTALLED=`/bin/ls /usr/sbin/nginx`
if [[ ! -z $ISNGINX_INSTALLED ]]; then
    echo "NOT installed"
else
    echo "installed"
fi
0
Ramratan Gupta