Abschuss von dir Kommando-Shell:Wie kann ich die Tnsping-Ausgabe in einer Variablen speichern?
myDB tnsping
i erhalten die Ausgabe:
OK (1 ms)
Wie kann ich in einer Variablen diese Ausgabe zu speichern, so kann ich testen, ob ist in Ordnung?
Abschuss von dir Kommando-Shell:Wie kann ich die Tnsping-Ausgabe in einer Variablen speichern?
myDB tnsping
i erhalten die Ausgabe:
OK (1 ms)
Wie kann ich in einer Variablen diese Ausgabe zu speichern, so kann ich testen, ob ist in Ordnung?
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