Le 09/10/2019 à 10:19, Stephane Ascoet a écrit :
> Le 07/08/2019 à 20:23, Pascal Hambourg a écrit :
>> C'est mieux, et probablement suffisant. Pour provoquer un faux positif
>> il faudrait un chemin contenant des espaces, ce qui n'est pas courant.
>
> Bonjour, et le test n'est-il pas inverse? Moi je comprends que si on
> obtient "ext?", on sort du script...
>
> Moi je l'ecrirai comme ca:
> #!/bin/bash
> #On s'arrete sur erreur
> set -e
>
> if mountpoint -q /home
> then #Si /home est un point de montage
> if [[ "$(grep "/home" /etc/mtab | cut -d" " -f3)" = "ext?" ]]
> then #Et s'il est en Ext
> tune2fs -m 0 "$(
> grep "/home" /etc/mtab \
> | cut -d" " -f1
> )"
> else #Si pas en Ext
> echo "la partition /home n'est pas au format ext"
> exit 2
> fi #Fin du test Ext
>
> else #Si pas un point de montage
> echo "/home n'est pas sur une partition separee"
> exit 1
> fi #Fin du test point de montage
>
> exit 0
>
En effet, merci de la relecture. Mais ne pas oublier non plus de
rajouter des espaces autour de /home pour pas avoir de faux positifs si
d'autres points de montage contiennent /home, comme l'a fait remarquer
pascal hambourg.
J'en arrive donc a cette version :
#!/bin/bash
# on s'arrete en cas d'erreur
set -e
if ! mountpoint -q /home
then # si /home est un point de montage
if [[ "$(grep " /home " /etc/mtab | cut -d" " -f3)" = "ext?" ]]
# on pourrait aussi mettre
# "$(awk '/ \/home / {print $3}' /etc/mtab)" = "ext?"
then # et s'il est en Ext
tune2fs -m 0 "$(grep " /home " /etc/mtab | cut -d" " -f1)"
# on pourrait aussi mettre
# "$(awk '/ \/home / {print $1}' /etc/mtab)"
else # si pas en Ext
echo "la partition /home n'est pas au format ext"
exit 2
fi # fin du test Ext
else
echo "/home n'est pas sur une partition separee"
exit 1
fi #fin du test point de montage
exit 0