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を削除してから再インストールします。
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"
これを試して:
command -v nginx
インストールされていない場合はインストール:
command -v nginx || Sudo apt install nginx
私は以下のソリューションを構築します。これはcronジョブでも実行されます
ISNGINX_INSTALLED=`/bin/ls /usr/sbin/nginx`
if [[ ! -z $ISNGINX_INSTALLED ]]; then
echo "NOT installed"
else
echo "installed"
fi