In pratica voglio riavviare un pc quando non è collegato ad internet e pensavo di fare un crontab ogni mezz'ora che fa girare questo script trovato online:
#!/bin/bash
TMP_FILE=/tmp/inet_up
no_inet_action() {
shutdown -r +1 'No internet.'
}
if ping -c5 google.com; then
echo 1 > $TMP_FILE
else
[[ `cat $TMP_FILE` == 0 ]] && no_inet_action || echo 0 > $TMP_FILE
fi
Mi spieghi che succede nell'else?
else
se la stampa di TMP_FILE dà output vuoto chiama la funzione no_inet_action, altrimenti scrive 0 in TMP_FILE
fi
credo, prova ad eseguire solo queste istruzioni:
TMP_FILE=/tmp/inet_up
[[ `cat $TMP_FILE` == 0 ]] && echo "vuoto" || echo "non vuoto"
gli script bash sono bastardi, quell' ==0 va verificato per bene