En fait le if ne teste pas une expression, mais le code de sortie d'une commande --- les commandes renvoient normalement 0 en cas de succès, et autre chose en cas d'erreur (selon la commande et le type d'erreur pour le débogage) --- et le crochet [ ... ] est juste un raccourci pour la commande test.
Tu aurais donc même pu faire directement :
- Code:
-
if ping -c1 192.168.16.51 ; then
# commandes
fi
Pour les dossiers/fichiers, il est courant d'utiliser -r aussi, parce que si le truc existe mais qu'on ne peut pas le lire, c'est pas utile !
Pour finir, en français, on écrit « conne
xion ».