Ich möchte:
- öffne 5 Terminalfenster
- Verwenden Sie jedes Terminalfenster, um einen bestimmten Host im Netzwerk anzupingen (kontinuierlich).
Derzeit mache ich das jedes Mal manuell, um herauszufinden, was in meinem schrecklichen Heimnetzwerk los ist.... Außerdem würde ich gerne wissen, ob es ein gutes Buch gibt, mit dem ich mir Bash-Skripting selbst beibringen kann. Es ist beeindruckend.
Ich bin im Voraus für jede Hilfe dankbar, die ich bekommen kann.
Antwort1
Sie können dies über ein Skript tun (vorausgesetzt, Sie arbeiten mit gnome-terminal
IPv4). Unten öffne ich ein Terminalfenster für jede angepingte IP-Adresse und staffele diese Fenster um eine Anzahl von Pixeln, die Sie anpassen können. Jedes Gnome-Terminalfenster ist mit einem Titel gekennzeichnet, der die angepingte IP enthält:
Nachdem Sie Ihr Skript erstellt haben, z. B. my_ping.sh
, stellen Sie sicher, dass Sie es ausführbar machen, mit:
$ chmod a+x my_ping.sh # see manual page for `chmod' if needed.
Version A
$ cat my_ping.sh
#!/usr/bin/bash
ip_array=(8.8.8.8
8.8.4.4
192.168.1.1) # define array with as many IPs as needed
x0=50; y0=50 # top left corner pixel coordinates of 1st term-window to open
pix_offset=50 # pixel xy-offset for subsequently staggered PING windows
for ip in "${ip_array[@]}"; do
sizeloc="80X24+$x0+$y0"
gnome-terminal --window \
--geometry="$sizeloc" \
--title "PING $ip" \
-- \ping "$ip"
x0=$((x0+pix_offset));y0=$((y0+pix_offset))
done
Verwendung:$ my_ping.sh
Version B
Möglicherweise möchten Sie dem Skript die Liste der zu pingenden IP-Adressen als Argumente bereitstellen my_ping.sh
.
$ cat my_ping.sh
#!/usr/bin/bash
x0=50; y0=50
pix_offset=50
# Include IP type-checking here if needed
for ip in "$@"; do
sizeloc="80X24+$x0+$y0"
gnome-terminal --window \
--geometry="$sizeloc" \
--title "PING $ip" \
-- \ping "$ip"
x0=$((x0+pix_offset)); y0=$((y0+pix_offset))
done
Verwendung:$ my_ping.sh 8.8.8.8 8.8.4.4 192.168.1.1 [...]
Idealerweise und zumindest in „Version B“ sollten Sie wahrscheinlich sicherstellen, dass die IP-Adressen vom Skript typgeprüft werden. Sie würden dies im Skript vor der for
Schleife tun. HTH.