Page 1 of 1

Bash som kollar en katalog

Posted: 21 July 2007, 20:41
by Cazz
Hur gör jag för att se om en katalog innerhåller filer och katalog.

För om den innerhåller så ska den göra en sak.

Posted: 21 July 2007, 23:41
by thewolf
if test -a "filnamn"
then
Gör nånting
fi
-a returnerar sant om filen finns
-r returnerar sant om filen finns och är läsbar
-w returnerar sant om filen finns och är skrivbar
-x returnerar sant om filen finns och är exekverbar
-f returnerar sant om filen finns och är en vanlig fil
-d returnerar sant om filen finns och är en katalog
-h returnerar sant om filen finns och är en symbolisk länk
-s returnerar sant om filen finns är större än 0

Hoppas att det hjälper dig... :D

Posted: 21 July 2007, 23:50
by Cazz
Kul men då måste jag ju veta vad filen heter???

Posted: 22 July 2007, 00:24
by thewolf
testa med *

Posted: 22 July 2007, 00:33
by Cazz
ska testa senare, ska snart nanna

blir väll typ

Code: Select all

if test -a /katalogen/* 
then 
Gör nånting 
fi
typ om det går

Re: Bash som kollar en katalog

Posted: 29 July 2009, 16:49
by lilltroll
Hej.

Om man vill kolla av om det blivit någon ny fil skapad i katalogen, säg var 10 minut.

Hur löser man det?

Mvh
Nicklas

Re: Bash som kollar en katalog

Posted: 29 July 2009, 21:03
by li
Använd kommandot:

sleep 600

för att vänta 10 minuter.

Det är en stor brist i linux och unix, tror jag, att man inte kan få en signal vid olika händelser (exempelvis att det kommer in en fil). Andra operativsystem har den funtionen. :evil:

Re: Bash som kollar en katalog

Posted: 29 July 2009, 21:06
by Cazz
Alternativ att man har den i en cron och gör en körning var 10 min. låter bättre tycker jag en ha ett script "liggande"

Re: Bash som kollar en katalog

Posted: 29 July 2009, 23:03
by brain
lilltroll wrote: Om man vill kolla av om det blivit någon ny fil skapad i katalogen, säg var 10 minut.

Hur löser man det?
Med inotify. Sök o du skall finna.

Re: Bash som kollar en katalog

Posted: 30 July 2009, 12:08
by li
Inotify hade jag glömt. Funkar väldigt bra. :D

http://inotify-tools.sourceforge.net/

Re: Bash som kollar en katalog

Posted: 31 July 2009, 05:24
by erik_persson
li wrote:Använd kommandot:

sleep 600

för att vänta 10 minuter.

Det är en stor brist i linux och unix, tror jag, att man inte kan få en signal vid olika händelser (exempelvis att det kommer in en fil). Andra operativsystem har den funtionen. :evil:
fam (file alteration monitor) är en standard för detta och är mer operativsystemsoberoende än inotify och det gamla dnotify.
gamin använder fam om inte inotify hittas och jag tror att gamin också använder fam för nfs.

fam fungerar även för tex nfs, vilket rimligen inte inotify gör.

/erik