Avatar billede shjdsi Nybegynder
01. maj 2001 - 08:58 Der er 2 kommentarer og
2 løsninger

shell script spørgsmål

Hej!
Jeg ville lige høre om der er nogen der ved hvordan jeg kan checke om en fil findes på et filsystem eller ej. Det drejer sig om at lave et script der søger efter core filer på en solaris 7 maskine.

Hvis jeg bruger bruger

find  $HOME -name core -exec /usr/bin/ls {} \\;

retunere den true lige meget om filen findes eller ej.


eller andre mærklige ting. 

 
Avatar billede gollum Nybegynder
01. maj 2001 - 09:31 #1
Dette script skulle klare det. test-kommandoen har en række options til at se filers status. -f tjekker om filen findes og er en ordinær fil.

if test -f *.core
  then
    echo filen findes
  else
    echo filen findes ikke
  fi
Avatar billede gollum Nybegynder
01. maj 2001 - 09:42 #2
Ups, scriptet her tjekker kun om filen findes i det bibliotek hvor du kører det. Du skal nok først finde filerne og så pipe dem ind i scriptet
Avatar billede kmikkels Nybegynder
20. maj 2001 - 18:36 #3
Så hut Jeg visker, så skal du da bare undlade exec tingen.
Altså:
find $HOME -name core

Så får du den rigtige exit status på.
Sidder ikke ved min UNIX box nu, så jeg kan ikke teste det.
Hvis det ikke virker, så fortæl lige hvad det er du vil, så finder vi en løsning.
/Kaj
Avatar billede ledsys Nybegynder
10. juni 2001 - 12:45 #4
Godt nok ikke på en Solaris men alligevel:
Forslag:

Find / -name core -print > dinfil

Denne tager fra roden og overskriver dinfil hver gang.

Du kan teste om der er \"noget i bøtten\" med
test -s dinfil
returnerer true hvis den er større end nul

Jeg ville nok samtidigt
find til dinfil
maile resultatet hvis true (dinfil>0)
og efterfølgende slette corefilerne med -exec, så du ikke ved ferie mv. får den samme mail hver gang.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester