Realizato da

Pubblicato il

shell

mac


guida come eseguire e ripetere comando ogni tot di secondi usando terminale su mac

Ciao a tutti e benvenuti in questa piccola guida dove vi mostro come eseguire un comando ad intervalli regolari su un computer Mac. Vi sarà capitato spesso di volete eseguire un comando ogni tot di secondi. Per esempio se si vuole effettuare un ping ad un server per controllare il suo stato ogni n secondi. Per fare ciò su un computer Linux, si può fare uso del comando watch. Questo comando non è disponibile in default su un computer mac, ma può essere installato con Brew

Come installare watch su mac con Brew

Prima di tutto assicuratevi di avere Brew installato sul vostro computer. 

Se avete installato Brew correttamente, potete eseguire il seguente comando nel vostro Terminal Mac per installare watch:

brew install watch

Come eseguire un comando ogni tot tempo su Mac

Ora vediamo come eseguire un comando ogni n secondi. In questo esempio andiamo ad eseguire un ping per controllare se un server è ancora funzionante, ma le possibilità sono infinite :) Per eseguire un ping ogni 10 secondi eseguite il seguente comando nel terminale:
watch -n 10 ping 127.0.0.1


In generale il formato del comando è:

watch [opzioni] comando


Vedrete che in output verrà mostrato solamente un ping alla volta. A volte può anche sembrare che watch sia eseguendo un comando una sola volta se l’output del comando è sempre lo stesso. Questo è dato dal fatto che il comando watch, sovrascrive l’output ogni volta che esegue il comando.

Se volete vedere che in effetti un comando viene eseguito ogni n secondi, provate con il comando date.

watch -n 5 date

Vedrete che ogni 5 secondi verrà mostrata la data attuale con ora, minuti e secondi.

Come ripetere uno script ogni tot di tempo usando un file .sh

Se invece volete eseguire uno script in un file ogni tot di tempo, potete usare il comando watch e passare il nome del file. Per esempio: Creiamo un file chiamato comando.sh ed al suo interno andiamo ad inserire:
#!/bin/bash
date


Salviamo il file ed eseguiamo il comando:

watch -n 5 ./comando.sh


Vedrete che il file viene eseguito (Se avete problemi di permessi ricordatevi di eseguire chmod u+x comando.sh)

Ci siamo abbiamo visto come eseguire o ripetere un comando ogni tot di tempo usando watch su un computer Mac.

Se hai una domanda puoi chiedere qualsiasi cosa nei commenti in basso

Grazie per aver letto questa guida su Devnews.it

Spero ti sia stata utile in qualche modo. Ti prego di supportare questa pagina mettendo mi piace alle nostre pagine social cliccando un basso, dove pubblichiamo regolermente notizie, tutorial e fatti curiosi sull'informatica. Grazie e ci vediamo alla prossima :)