Ich möchte die Portverbindungen prüfen nc
und das Ergebnis in eine Textdatei weiterleiten.
stdout
funktioniert einwandfrei. stderr
ist leer, wenn Sie es nicht verwenden -v
(was ich nicht möchte), daher möchte ich die Fehlerausgabe wie folgt konfigurierenServername: no connection
nc
ist Version v1.10-41+b1.
Hier ist der Befehl
nc -z -G 5 $Servername $Portname >> telnet_log.txt 2>&1
Antwort1
nc
unter macOS wird mit einem Exit-Status ungleich Null beendet, wenn die Verbindung zu einem Host fehlschlägt. Sie können diese Tatsache in einer if
-Anweisung verwenden, um eine eigene Fehlermeldung auszugeben:
if ! nc -z -G 5 "$server" "$port"; then
printf '%s: no connection (port=%s)\n' "$server" "$port" >&2
fi >>nc-results.log 2>&1
nc
Dadurch werden bei erfolgreicher Verbindung alle in der Standardausgabe erzeugten Daten zur Datei hinzugefügt nc-report.log
. Wenn die Verbindung jedoch nicht hergestellt werden konnte, wird Ihr eigener benutzerdefinierter Fehler hinzugefügt.