The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
Feil med hvis setningen .. Hjelp jisha Shell programmering og Skripting 1 01-16-2008 07:13
mens les loop m / en nestet hvis utsagnet - ikke behandle hver oppføring individuelt littlefrog Shell programmering og Skripting 7 12-11-2007 09:49
hvis setningen på en stund loop Bobo UNIX for Dummies Spørsmål og svar 2 11-07-2006 12:38
hvis setningen for løkke av en streng Snikskytter Pixie UNIX for Dummies Spørsmål og svar 7 03-02-2006 07:28
tar feil statement Legato UNIX for Dummies Spørsmål og svar 3 03-29-2005 10:58

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 09-19-2007
lumdev lumdev is offline
Registrert bruker
  
 

Bli Dato: Sep 2006
Bosted: Belgia
Innlegg: 6
For loop statement - fangst feil

Jeg har et spørsmål om for looper. (bash)

Jeg har følgende for eksempel:

for filen i `ls *. txt`
gjøre
les fil ...
ferdig

Nå når det er en fil presentere det er ingen problem, nå når det ikke er en fil presentere jeg får følgende output i mitt standard e-post-boksen: "Ingen slik fil eller katalog" Script utføres via crontab.

Jeg vil ta over feil slik at jeg ikke får det i posten min lenger, men jeg aner ikke hvordan du gjør dette.

Jeg kan ringe et hvis setningen første "hvis [-f *. txt] ...", men det må være en bedre løsning.

Thx.
  #2 (permalink)  
Old 09-19-2007
ajcannon ajcannon is offline
Registrert bruker
  
 

Bli Dato: Aug 2007
Beliggenhet: Binfield, Berkshire. UK
Innlegg: 91
dersom, hvis

Jeg tror at bruk av "hvis" er en perfekt rimelig løsning. Du trenger noe slag om betinget statement å avgjøre hvorvidt eller ikke filen finnes, og en "hvis" vil være OK
  #3 (permalink)  
Old 09-19-2007
porter porter is offline Forum Advisor  
Registrert bruker
  
 

Bli Date: Jan 2007
Innlegg: 2965
Sitat:
Originally Posted by lumdev View Post
Jeg kan ringe et hvis setningen første "hvis [-f *. txt] ...", men det må være en bedre løsning.
Sjekk for selve filen i loop


Code:
  for file in *.txt
  do
     if test -f $file
     then
        read file ...
     fi
  done

  #4 (permalink)  
Old 09-19-2007
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmerer, forfatter
  
 

Bli Date: Mar 2007
Bosted: Toronto, Canada
Innlegg: 2365
Sitat:
Originally Posted by lumdev View Post
Jeg har et spørsmål om for looper. (bash)

Jeg har følgende for eksempel:

for filen i `ls *. txt`

Det er ikke måten å sløyfe gjennom filer. Ikke bare er ls unødvendig, vil det bryte skriptet eventuell Filnavnene inneholde mellomrom eller andre pathological tegn. Bruk jokertegn direkte:


Code:
for file in *.txt

Sitat:
gjøre
les fil ...
ferdig

Nå når det er en fil presentere det er ingen problem, nå når det ikke er en fil presentere jeg får følgende output i mitt standard e-post-boksen: "Ingen slik fil eller katalog" Script utføres via crontab.

Jeg vil ta over feil slik at jeg ikke får det i posten min lenger, men jeg aner ikke hvordan du gjør dette.

Jeg kan ringe et hvis setningen første "hvis [-f *. txt] ...", men det må være en bedre løsning.

Nei, du kan ikke gjøre det, det vil mislykkes hvis det er mer enn en. Txt-fil.

Du kan bruke en funksjon:


Code:
is_file() {
   test -f "$1"
}

is_file *.txt &&
 for file in *.txt
 do
   ...
 done

Den sikreste måten er å sjekke hver fil:


Code:
for file in *.txt
do
  [ -f "$file" ] || continue
  ...
done

  #5 (permalink)  
Old 09-20-2007
lumdev lumdev is offline
Registrert bruker
  
 

Bli Dato: Sep 2006
Bosted: Belgia
Innlegg: 6
Thx for svar.

Jeg brukte løsning med funksjonen, nå er jeg ikke får noen "Ingen slik fil eller katalog" output lenger.

Thx for hjelp cfajohnson.
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 05:55.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0