[ninux-not-wireless] [SHELL] Ping con timestamp colorato
LuX
lux at ninux.org
Sat Nov 10 20:25:48 CET 2012
Ragazzi, (non ridete), in un momento di pura GIGGIONERIA NERD ho sfornato 'sto COSO qui sotto.
É uno script bash che mostra data e ora su ogni riga di output del comando ping, ma (se la console lo permette), li colora XD
------------------------------------------------------------------------------------------
#!/bin/bash
EXPECTED_ARGS=1 # Number of arguments expected.
E_BADARGS=85 # Exit value if incorrect number of args passed.
test $# -ne ${EXPECTED_ARGS} && echo "Usage: `basename $0` <hostname>|<ipv4>" && exit ${E_BADARGS}
ping $1 | while read pong; do echo -e "[$(date +"\033[01;32m%F\033[00m \033[01;31m%T\033[00m")] ${pong}"; done
exit 0
------------------------------------------------------------------------------------------
Vabbè, come direbbe il mio vecchio prof. é un inutile orpello!
In realtà la cosa che mi sembrava utile condividere é la possibilità di catturare (e processare) l'output di un comando senza attendere che termini.
il pezzo di codice utile é:
... | while read variabile; do ... ; done
Ad esempio:
ping 127.0.0.1 | while read variabile; do echo "quellochemmepare $variabile" ; done
Spero possa essere utile a qualcuno :)
--
LuX
More information about the Not-wireless
mailing list