[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: mais ou est passee la place manquante ?



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

Reply to: