středa 19. února 2014

watch - periodické sledování výstupu příkazu

Další z mých letitých konceptů...
Náhodou jsem nedávno (nyní již před lety) objevil program watch, který umí periodicky spouštět příkaz a jeho výstup zobrazovat celoobrazovkově, či spíše celoterminálově, jde-li o okno terminálu v X. Každý nový výstup přepíše ten starý, s možností zvýrazňovat rozdíly a to i kumulativně, tedy nejen mezi dvěma následujícími výstupy. ...




Volby programu watch jsou následující:

-b, --beep       pípne, pokud exit status prováděného příkazu nebude 0
-d, --differences[=cumulative]   zvýrazňuje rozdíly nezi jednotlivými výstupy, volba cumulative zvýraznuje změny kumulativně, tedy nechává jednou zvýrazněné rozdíly zvýrazněné i když se již dále nemění.
-e, --errexit    jako přepínač -b, s tím rozdílem, že místo pípnutí se watch ukončí
-n, --interval=<seconds>   délka intervalu mezi prováděním příkazu v sekundách
-p, --precise    přesné časování, do intervalu nebude připočten čas provádění příkazu
-t, --no-title   nezobrazí titulek, ve kterém se standardně nachází prováděný příkaz a čas
-x, --exec       nebude příkaz spouštět jako další proces shellu, ale použije příkaz exec, který nahradí proces stávající.

Nejjednodušší použití může být třeba s výstupem sensors, pro ukázku s kumulativním zvýrazněním rozdílů:

$ watch -d=cumulative sensors


Zkrátka data, jejichž změnu chcete sledovat v průběhu času, si můžete jednoduše zobrazovat pomocí watch. Pokud budete potřebovat spouštět delší jednořádkové skriptíky, dají se příkazy nacpat za sebe do uvozovek, ovšem "komplikovanější" výrazy mohou být problém, pak je lepší je uložit jako běžný skript do souboru a nechat watch spouštět ten.


Žádné komentáře:

Okomentovat

Zkuste prosím při komentováni používat místo volby Anonymní volbu Název/adresa URL, kde vyplníte nějakou přezdívku, adresu zadávat nemusíte. Vědět, které příspěvky jsou od jednoho člověka, je fajn. Díky.

Pokud by se vám náhodou odeslaný komentář na stránce nezobrazil, vytáhnu ho z koše hned jak si toho všimnu. I Google spam filter se občas sekne.