======Test sur les fichiers====== exemple d'utilisation: [ ! -f fichier.lock ] && echo "le fichier lock est absent" =====Tests sur présence du fichier et fichier non vide===== {| border="2" style="padding: 50px; width: 65%;" ! Expression !! Code de retour |- | -e fichier || Vrai si le fichier existe |- | -s fichier || Vrai si le fichier n’est pas vide |} =====Tests sur le type du fichier===== {| border="2" style="padding: 50px; width: 65%;" ! Expression !! Code de retour |- | -f fichier || Vrai si le fichier est du type ordinaire ((ni un répertoire ni un fichier périphérique) ) |- | -d fichier || Vrai si c'est un répertoire |- | -h fichier || Vrai si le fichier est du type lien symbolique |- | -L fichier || Vrai si le fichier est du type lien symbolique |- | -b fichier || Vrai si le fichier est du type spécial bloc |- | -c fichier || Vrai si le fichier est du type spécial caractère |- | -p fichier || Vrai si le fichier est du type tube nommé |- | -S fichier || Vrai si le fichier est du type socket |- |} =====Tests sur les permissions du fichier===== {| border="2" style="padding: 50px; width: 65%;" ! Expression !! Code de retour |- | -r fichier || Vrai si fichier est accessible en lecture |- | -w fichier || Vrai si fichier est accessible en écriture |- | -x fichier || Vrai si fichier possède le droit d’exécution |- | -u fichier || Vrai si fichier possède le setuid-bit |- | -g fichier || Vrai si fichier possède le setgid-bit |- | -k fichier || Vrai si fichier possède le sticky-bit |- | fichier1 -nt fichier2 || Vrai si fichier1 est plus récent que fichier2 |- | fichier1 -ot fichier2 || Vrai si fichier1 est plus ancien que fichier2 |- | fichier1 -ef fichier2 || Vrai si fichiers 1 et 2 sont des liens physiques vers le même fichier |- | -O fichier || Vrai si l’utilisateur est propriétaire du fichier |- | -G fichier || Vrai si l’utilisateur appartient au groupe propriétaire du fichier |}