2017-02-17 6 views

Antwort

1

You can store the output of a command using command substitution.

Sie sagten jedoch, Sie wollten das Ergebnis überprüfen. Wenn Sie diese String-Ausgabe speichern, müssen Sie sie analysieren, um nur nach "OK" zu suchen (da die Ping-Zeit anders sein kann), und mit den Banner-Informationen usw. umgehen (obwohl das relativ einfach ist).

Es wäre einfacher, auf dem Return-Code suchen aus dem tnsping Befehl statt dessen Ausgang:

tnsping myDB 
echo $? 

Sie können den Wert von $? testen. Wenn der Ping OK war, ist er Null; andernfalls ist es 1.

Sie haben nicht gesagt, was Sie mit dem Testergebnis tun möchten. Wenn Sie den Fehler anzeigen möchten (wenn es einen gibt) und nichts, wenn es funktioniert, können Sie beides kombinieren:

RESULT=$(tnsping myDB) 
if [[ $? -ne 0 ]]; then 
    printf "Ping failed, output was\n\n" 
    printf "%s\n" "${RESULT}" 
fi 
Verwandte Themen