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

Re: mount



Rüdiger Noack <ernohl@yahoo.de>:
> Frank Terbeck wrote:
> >
> >>>mp="/cdrom"
> >>>if (mount | grep $mp > /dev/null); then echo "Yes"; else echo "No"; fi
> >>
> >'grep "$mp "' an Stelle von 'grep $mp' verwenden sollte dabei helfen.
> 
> Sorry,
> 
> aber nehmen wir mal an, du willst auf /mnt1 prüfen und es gibt einen 
> mount auf /mnt/mnt1...

Okay, das sind zwar wilde Mountpoints, aber recht hast du trotzdem.

> Du brauchst ein sauberes Pattern - oder eine andere (und auf Anhieb 
> übersichtliche) Lösung.

Na schön, da grep laut SUSv3 auch '-E' unterstützen soll (und wie von
Joerg bemerkt auch '-q'):

if mount | awk '{print $3}' | grep -qE "^$mp$" ; then echo yes;
else echo no; fi

Allerdings, da 'mount' nicht von SUSv3 erfasst wird, kann man nicht
darauf bauen, dass die Ausgabe auf verschiedenen Systemen konsistent
ist.

Ausser 'df' gibt es AFAIK kein Werkzeug, von dem man eine definierte
Ausgabe zum Dateisystem bekommt.

Wenn jetzt noch davon ausgeht, dass es Leute gibt, die wilde
Mountpoints mögen, wie zB:

/dev/hda5 gemountet auf /mnt/dev/hda5

würde ich folgendes vorschlagen:

mp=/mnt
if    df -P $mp           2> /dev/null  \
    | awk '{ print $6 }'  2> /dev/null  \
    | grep -qE "^$mp\$"
then
  echo "Yes."
else
  echo "No."
fi

Gruss, Frank



Reply to: