Machen Sie das Echo tatsächlich mit Zeilenumbrüchen, wie Janne es vorschlägt, und fügen Sie mit -w einen vernünftigen Timeout-Wert hinzu.
3molo
Antworten:
12
Wenn Sie nur überprüfen möchten, ob der Port geöffnet ist, versuchen Sie Folgendes:
$ nc -zv 10.10.10.24 3306
Connection to localhost 3306 port [tcp/mysql] succeeded!
ncgibt 0 zurück, wenn der Port geöffnet ist, und 1, wenn dies nicht der Fall ist. Dies ist auch für Skripte sehr hilfreich. Lassen Sie den vSchalter weg , um ihn leise zu halten:
Hier erfahren Sie, wie Sie Telnet in Bash Shell / Expect verwenden
#!/usr/bin/expect
# just do a chmod 755 one the script
# ./YOUR_SCRIPT_NAME.sh $YOUHOST $PORT
# if you get "Escape character is '^]'" as the output it means got connected otherwise it has failed
set ip [lindex $argv 0]
set port [lindex $argv 1]
set timeout 5
spawn telnet $ip $port
expect "'^]'."
Antworten:
Wenn Sie nur überprüfen möchten, ob der Port geöffnet ist, versuchen Sie Folgendes:
nc
gibt 0 zurück, wenn der Port geöffnet ist, und 1, wenn dies nicht der Fall ist. Dies ist auch für Skripte sehr hilfreich. Lassen Sie denv
Schalter weg , um ihn leise zu halten:quelle
nc
ist viel besser für nicht interaktive Nutzung. Versuchen Sie etwas wiequelle
Wenn Sie kein nc haben, können Sie Bash Special Files Redirectons verwenden:
quelle
Um das Telnet-Skript zu automatisieren, sollten Sie erwarten verwenden. Siehe die erwartete Homepage .
quelle
Dies ist mein Skript für bestimmte Fälle.
http://fajlinux.com.br/2014/10/10/script-monitorando-via-telnet/
quelle
Ich würde netcat verwenden und es ist stattdessen '-w';
quelle
Hier erfahren Sie, wie Sie Telnet in Bash Shell / Expect verwenden
quelle