The UNIX and Linux Forums  
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.

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
Fil beskrivelse Tabell Ashaman0 UNIX for Advanced & ekspertbrukere 6 12-03-2007 02:54
Fil beskrivelse konstant Vino High Level Programmering 4 05-18-2005 01:18
Fil beskrivelse Hjelp rahulrathod UNIX for Dummies Spørsmål og svar 3 10-14-2004 05:08
fil aktivitet (åpen / lukket) fil beskrivelse info hjelp KORN shell scripting Gary Dunn UNIX for Dummies Spørsmål og svar 3 06-07-2004 01:54
skadet fil beskrivelse? ftb UNIX for Dummies Spørsmål og svar 1 02-20-2002 07:19

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 06-04-2008
robotball robotball is offline
Registrert bruker
  
 

Bli Dato: juni 2008
Innlegg: 8
Question Passerer en fil beskrivelse

Jeg prøver å rette en funksjon som bruker en fil beskrivelse å skrive til en loggfil. Problemet er at på utskriften statement filen beskrivelse kalles dårlig. Nå når jeg først åpne filen, og skrive ut til den i f_open funksjon ved å sende beskrivelse til f_print_log alt fungerer bra, men da jeg returnerte til filen beskrivelse til logtest.sh og prøv å sende den til f_print_log jeg får dårlig fil beskrivelse. Eventuelle hjelpe ville være verdsatt. Her er mine funksjoner og ringer skriptet:

********* Disse funksjonene IN f_log.sh
funksjonen f_open_log
(
next_fh \u003d $ LOG_FH_COUNTER
eval "exec $ next_fh> $ 1"

f_print_log $ next_fh "Loggfil åpnet"
((LOG_FH_COUNTER \u003d LOG_FH_COUNTER + 1))

echo $ (next_fh)
return 0
)

funksjonen f_print_log
(
print-u $ 1 $ 2
return 0
)
************************************************** *

logtest.sh ->

#! / bin / ksh

. f_log.sh

typeset-i LOG_FH_COUNTER \u003d 3

LOG \u003d $ (f_open_log bigfile)
f_print_log $ LOG "Dette er en test"

exit
  #2 (permalink)  
Old 06-04-2008
fpmurphy's Avatar
fpmurphy fpmurphy is offline Forum Staff  
Moderator
  
 

Bli Dato: desember 2003
Sted: Florida
Innlegg: 1916
Hvilken spesiell versjon av ksh bruker du? ksh88, phksh eller ksh93?
  #3 (permalink)  
Old 06-05-2008
robotball robotball is offline
Registrert bruker
  
 

Bli Dato: juni 2008
Innlegg: 8
Takk for svare. Jeg kjører ksh88.
  #4 (permalink)  
Old 06-05-2008
robotball robotball is offline
Registrert bruker
  
 

Bli Dato: juni 2008
Innlegg: 8
Jeg syntes det er årsaken til dårlig fil beskrivelse, men jeg vet ikke hvordan du får funcitonallity jeg ønsker å jobbe. Jeg forlot en linje ut av f_print_log fungere så jeg prøvde ikke å gjøre mitt innlegg til lenge. Funksjonen skal

funksjonen f_print_log
(
[[$ VERBOSE \u003d\u003d 0]] & & print $ 2
print-u $ 1 $ 2
return 0
)

Så hvis jeg sette VERBOSE alternativet i logtest.sh, produksjon ville bli skrevet til skjermen, og filen, men når f_open_log heter og skriver "Loggfil åpen" bruker f_print_log subroutine både filen beskrivelse, og at linjen er sendt tilbake til logtest.sh som genererer dårlig beskrivelse.

Noen forslag. Jeg ønsker å beholde Loggfil åpnet linje hvis jeg kan. Takk.
  #5 (permalink)  
Old 06-05-2008
æra era is offline Forum Advisor  
Herder av Useless Cats (På Sabbatical)
  
 

Bli Date: Mar 2008
Sted: / det / er / bare / bin / sh
Innlegg: 3652
Jeg tror ikke beskrivelse vil fortsette i den overordnede skall når du kjører det fra innsiden backticks. Minst dette er tilfelle her, med Bash.
  #6 (permalink)  
Old 06-06-2008
robotball robotball is offline
Registrert bruker
  
 

Bli Dato: juni 2008
Innlegg: 8
Funnet en løsning. Jeg har lagt til et ekstra argument for f_print_log rutine å slå verbose av. Jeg bruker dette i f_open_log rutine og alt virker fint.
  #7 (permalink)  
Old 06-08-2008
fpmurphy's Avatar
fpmurphy fpmurphy is offline Forum Staff  
Moderator
  
 

Bli Dato: desember 2003
Sted: Florida
Innlegg: 1916
Problemet er med følgende linje med kode
Code:
LOG=$(f_open_log bigfile)
Dette gjør at filen beskrivelse å være stengt. En løsning er å bruke en global variabel som i følgende eksempel
Code:
#!/bin/ksh88

typeset -i fh

function open_log
{
    next=${LOG_FH_COUNTER}
    eval "exec ${next}>$1"
    fh=${next}

    print_log ${next} "Log file opened"
    ((LOG_FH_COUNTER=LOG_FH_COUNTER+1))

    echo ${next}
}

function print_log
{
    print -u$1 $2
}

typeset -i LOG_FH_COUNTER=3
open_log bigfile
print_log ${fh} "This is a test"

exit 0
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 12:17.


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