The UNIX and Linux Forums  
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.

Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
controleren op het bestaan van de tabel in Oracle kjs SUN Solaris 0 10-19-2007 03:21
De controle op het bestaan van een bestand .. igandu Programmeren en Shell Scripting 7 06-13-2007 03:47
controle bestand bestaan DILEEP410 Programmeren en Shell Scripting 3 01-24-2007 12:43
Bestand bestaan mpang_ Programmeren en Shell Scripting 2 03-27-2006 11:27
XML plat bestand in Unix oscarr UNIX for Advanced & Expert Gebruikers 2 08-01-2001 08:11 PM

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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 04-25-2008
Ariean Ariean is offline
Geregistreerde gebruiker
  
 

Join Date: april 2008
Posts: 25
Controleren op het bestaan van een plat bestand in UNIX!

Hi All,

Ik heb een eis waar in ik nodig om te controleren of er sprake is van een bestand en later uitvoeren pmcmd enkele commando's voor de informatica. Ik probeerde veel manieren, maar werd afgewezen zou u kunnen gooien wat licht. Hieronder zijn de monster-codes die ik heb geschreven.

Voorbeeld 1:

#! / bin / ksh
bestandspad \u003d / export / home / orainfodev / sam s
filename \u003d "voke.txt"
voor bestand in $ bestandspad; doen
[[-F $ filename]]
pmcmd startworkflow-u Administrator-p SADMIN-s odsdbq1: 4001-f IR_Custom WF_Test_Mapping
gedaan

Voorbeeld 2:

#! / bin / ksh
if (!-e "/ u01/app/informatica/7.1.4/server/TgtFiles/sample.txt")
dan
pmcmd startworkflow-u Administrator-p SADMIN-s odsdbq1: 4001-f IR_Custom WF_Test_Mapping
anders
echo "Sorry Kan niet starten de workflow als er geen bestand in de map"
fi

Voorbeeld 3:

#! / bin / ksh
filename \u003d "export / home / orainfodev / invoke.txt"
Als test-f "$ filename" dan
echo "bestand bestaat"
anders
echo "bestand niet bestaat"
fi


Voorbeeld 4:

#! / bin / ksh
echo "Geef een bestandsnaam"
lees fname
Als test-f "$ fname"
then echo "$ fname bestaat"
anders
echo "$ fname niet bestaat"
fi

Thanks & Regards,
Ariean.
  #2 (permalink)  
Old 04-25-2008
tijdperk era is offline Forum Advisor  
Herder van Nutteloze Cats (On Sabbatical)
  
 

Join Datum: maart 2008
Locatie: / er / is / alleen / bin / sh
Berichten: 3652
Al uw pogingen zijn zeer dichtbij. Voor zover ik kan vertellen, het laatste moet hebben gewerkt - kan u zeggen welke foutmelding krijg je?

Citaat:
Voorbeeld 1:

#! / bin / ksh
bestandspad \u003d / export / home / orainfodev / sam s
filename \u003d "voke.txt"
voor bestand in $ bestandspad; doen
[[-F $ filename]]
pmcmd startworkflow-u Administrator-p SADMIN-s odsdbq1: 4001-f IR_Custom WF_Test_Mapping
gedaan
De-f commando is prima, maar u niet met het resultaat van alles. Je kon wikkel dat in een "als" of andere voorwaardelijke en zou hebben gewerkt. Ook de bestandspad moet gesteld worden in dubbele aanhalingstekens wanneer u dit op te geven. Vermoedelijk de bestandspad paden zijn mappen waarin u wilt zoeken voke.txt?

Code:
for file in /export/home/orainfodev/sam s ; do
    if test -f $file/voke.txt; then
        pmcmd startworkflow -u Administrator -p SADMIN -s odsdbq1:4001 -f IR_Custom WF_Test_Mapping
    else
        echo "$0: $file/voke.txt: not found" >&2
    fi
done
(Is het niet de workflow commando te verwijzen naar het bestand dat u ook voor de controle, hoewel? Ofwel door dalende naar de map waar je het gevonden hebt, of via een command-line parameter.)

Citaat:
Voorbeeld 2:

#! / bin / ksh
if (!-e "/ u01/app/informatica/7.1.4/server/TgtFiles/sample.txt")
dan
pmcmd startworkflow-u Administrator-p SADMIN-s odsdbq1: 4001-f IR_Custom WF_Test_Mapping
anders
echo "Sorry Kan niet starten de workflow als er geen bestand in de map"
fi
De haakjes in de "als" niet kloppen syntaxis, maar nogmaals, zeer dichtbij.

Citaat:
Voorbeeld 3:

#! / bin / ksh
filename \u003d "export / home / orainfodev / invoke.txt"
Als test-f "$ filename" dan
echo "bestand bestaat"
anders
echo "bestand niet bestaat"
fi
U moet een puntkomma vóór de "dan", of zet het op een nieuwe regel. Dan zou dit werk. Pure pech je niet struikelen over de oplossing op dit punt.

Citaat:
Voorbeeld 4:

#! / bin / ksh
echo "Geef een bestandsnaam"
lees fname
Als test-f "$ fname"
then echo "$ fname bestaat"
anders
echo "$ fname niet bestaat"
fi
Dit werkt voor mij onder bash. Sommige schelpen kunnen worden kieskeurig over die nieuwe lijnen na "dan" en "anders", misschien.
  #3 (permalink)  
Old 04-25-2008
DukeNuke2's Avatar
DukeNuke2 DukeNuke2 is offline Forum Staff  
Soulman
  
 

Join Date: Jul 2006
Vestiging: Duitsland, Berlijn
Berichten: 2.976
Ik heb verplaatst de draad van "Solaris" op "shell scripting ..." want dit is geen solaris gerelateerde vraag.

greets,
DN2
  #4 (permalink)  
Old 04-25-2008
Ariean Ariean is offline
Geregistreerde gebruiker
  
 

Join Date: april 2008
Posts: 25
Bedankt voor uw antwoord, gebaseerd op uw suggestie Ik probeerde het herschrijven van de code in zoals hieronder, maar sommige hoe ik heb niet begrepen waarom het uitvoeren van de verklaring in de ander deel, ook na de voorwaarde in de if statement klopt of tevreden of pmcmd opdracht krijgen uitgevoerd. Kunt u gooien wat licht. Bedankt.

\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d

#! / bin / ksh
voor het bestand in / export / home / orainfodev / sam s; doen
Als test-f $ file / invoke.txt, vandaar
pmcmd startworkflow-u Administrator-p SADMIN-s odsdbq1: 4001-f IR_Custom WF_Test_Mapping
anders
echo "$ 0: $ file / invoke.txt: not found"> & 2
# echo "Kon niet kunnen vinden van het bestand kan niet uitvoeren van de workflow thanks!"
fi
gedaan

\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d
  #5 (permalink)  
Old 04-25-2008
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmeur, auteur
  
 

Join Datum: maart 2007
Plaats: Toronto, Canada
Berichten: 2.361
Citaat:
Oorspronkelijk geplaatst door Ariean View Post
Bedankt voor uw antwoord, gebaseerd op uw suggestie Ik probeerde het herschrijven van de code in zoals hieronder, maar sommige hoe ik heb niet begrepen waarom het uitvoeren van de verklaring in de ander deel, ook na de voorwaarde in de if statement klopt of tevreden of pmcmd opdracht krijgen uitgevoerd. Kunt u gooien wat licht. Bedankt.

\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d

#! / bin / ksh
voor het bestand in / export / home / orainfodev / sam s; doen

Bent u echt van plan om net meer dan twee bestanden, "/ export / home / orainfodev / sam" en "S"?

Als dat is bedoeld om een enkel bestand, moet worden genoteerd. En, zo ja, waarom bent u met behulp van een lus?

Closed Thread

Bladwijzers

Labels
Unix-commando's

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 05:48.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0