0

ケースロジックで $VERSION をチェックしようとしていますが、問題があります。

$VERSION は、「ホストによって拒否された接続」、「0,4,1,101 2013-05-18」、または「0,4,1,102 2013-09-18」などの他のバージョンにすることができます

テストで $VERSION が「0,4,1,101 2013-05-18」である間、私は常に「他の問題」に遭遇しているようです...

    #!/bin/bash

HOSTNAME=$1
VERSION=$(/usr/local/nagios/libexec/check_nrpe -H servername01 -c checkversion)
echo "$VERSION" >> /var/log/dig-nscp-install.log

NOW=$(date '+%Y-%m-%d -- %H:%M')
LOGFILE=/var/log/dig-nscp-install.log

#if [ "$TRVER" == "Connection refused by host" ]; then
#       echo  "$NOW : Version $VERSION already installed on HOSTNAME!" >> /var/log/dig-nscp-install.log
#else
#       echo  "$NOW : Powershell install script initiated to install version $VERSION on $HOSTNAME!" >> /var/log/dig-nscp-install.log
#       /usr/local/nagios/libexec/check_nrpe -H servername02 -t 300 -c install_nscp_0.4.101 -a $HOSTNAME
#
#fi

case $VERSION in
        "Connection refused by host")
                echo  "$NOW : Powershell script initiated to install version $VERSION on $HOSTNAME!" >> /var/log/dig-nscp-install.log
                ;;
        "0,4,1,101 2013-05-18")
                echo  "$NOW : Version $VERSION already installed on HOSTNAME!" >> /var/log/dig-nscp-install.log
                ;;
        *)
                echo "$NOW : Some other problem" >> /var/log/dig-nscp-install.log
                ;;

esac
4

2 に答える 2

1

私の推測では、コメントで@chepnerが言及したものです。次のようなものを試すことができます:

"Connection refused by host"*) <== 注意してください*

上記は、誤った改行やその他の奇妙さをキャッチするはずです。

CRが設定されている問題である場合VERSIONは、を使用してその割り当てを変更しtr、不要な文字などを削除できます。

VERSION=$(some command here|tr -d "\r")

于 2013-11-06T16:57:18.783 に答える