Strona 1 z 1

bash, jak sprawdzić czy dany katalog jest pusty?

: 03 listopada 2009, 18:12
autor: doman18
Witam.
W związku z tym, że nie udało mi się z konfiguracją autofs więc chciałbym sobie usprawnić montowanie. Na razie używam 8 plików.
- 2 do montowania USB
- 2 do odmontowania USB
- 2 do montowania Udostępnionych
- 2 do odmontowania Udostępnionych

Chciałbym napisać instrukcję warunkową, która sprawdza czy w danej lokalizacji jest jakiś plik/katalog. Jeżeli nie istnieje to montuje tam urządzenie a jeżeli istnieje to odmontuje np.

Kod: Zaznacz cały

iif [ -f /home/doman/Publiczny/Edytka/jakikolwiek_plik] || [-d /home/doman/Publiczny/Edytka/jakikolwiek_katalog];
then
umount /home/doman/Publiczny/Edytka
else
mount -t cifs //192.168.0.2/Udostępnione /home/doman/Publiczny/Edytka
Tylko jak wpisać ten ,,jakikolwiek''. A może to inaczej można zrobić?

: 03 listopada 2009, 19:30
autor: winnetou
Dziękuje...

: 07 listopada 2009, 11:51
autor: doman18
Trochę nie rozumiem tej linii:

Kod: Zaznacz cały

awk '{print $3}' |cut -d"/" -f 3`
Mógłbyś wyjaśnić co ona robi? Bo $3 to 3 argument funkcji mount czy jak?

Bo zrobiłem taki plik:

Kod: Zaznacz cały

#!/bin/sh 
ZAMONTOWANY=`mount |grep pen2 |awk '{print $3}' |cut -d"/" -f 3`
if [ $ZAMONTOWANY != "pen2" ] 
then 
 mount /media/pen2 
else 
 umount /media/pen2
fi
/etc/fstab:

Kod: Zaznacz cały

/dev/sdb1    /media/pen2    vfat        user,noauto                0    0
I nie działa. Wyrzuca błąd:

Kod: Zaznacz cały

./usb.sh: line 3: [: !=: oczekiwano operatora jednoargumentowego
Dobrze że przynajmniej przy normalnym montowaniu z komendą:

Kod: Zaznacz cały

mount /media/pen2 && pcmanfm /media/pen2
działa.

: 07 listopada 2009, 13:35
autor: winnetou
Dziękuje...

: 07 listopada 2009, 14:02
autor: doman18
No a co z tym błędem?