The UNIX and Linux Forums  


Go Back   De Unix-en Linux Forum > Top Forums > UNIX for Advanced & Expert Gebruikers
.
google unix.com



UNIX for Advanced & Expert Gebruikers Expert-to-Expert. Hier geavanceerde UNIX-, UNIX-commando's, Linux, Operating Systems, System Administration, programmering, Shell, Shell scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
TAHI Test Suite 4.0.2 (Self-Test Test Suite bijkantoor) iBot Software releases - RSS Nieuws 0 07-10-2008 07:50
TAHI Test Suite 3.0.15 (IPv6 Conformance Test Tool bijkantoor) iBot Software releases - RSS Nieuws 0 07-10-2008 07:50
TAHI Test Suite 3.0.13 (IPv6 Conformance Test Tool bijkantoor) iBot Software releases - RSS Nieuws 0 04-06-2008 01:20 PM
test-en. test in dezelfde directory vikashtulsiyan SUN Solaris 14 12-28-2007 02:25
Keithley introduceert Linux-Based RF Parametrische Test Systems - Test-en Measurement.com iBot UNIX en Linux RSS Nieuws 0 07-23-2007 11:30

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 08-01-2008
big123456 big123456 is offline
Geregistreerde gebruiker
  
 

Join Date: May 2005
Posts: 200
testen of

Hoi,
Ik heb dit script:
Code:
Nbr_BD_Link=`
sqlplus -S sysadm/${PSWD}@${DB_Name} << EOF
        set head off feedback off  ;
        select count(*) from dba_db_links ;
        exit ;
EOF `
echo "Nbr_BD_Link is : "
echo ${Nbr_BD_Link}
echo "we do a test"
if [ "${Nbr_BD_Link}" != "0" ] ; then
echo "${T80}\nLa base ${DB_Name} contient ${Nbr_BD_Link} DB Link :"
fi
Het resultaat van de uitvoering is
Code:
Nbr_BD_Link is :
0
we do a test
--------------------------------------------------------------------------------
La base MYDB contient
         0 DB Link :
Zoals u kunt zien, de voorwaardelijke echo "$ (T80) \ NLa basisareaal $ () DB_Name bevat $ () Nbr_BD_Link OB Link:" wordt uitgevoerd, zelfs als Nbr_Bd_Link is nul.
Nu heb ik kracht Nbr_BD_Link tot nul:
Code:
Nbr_BD_Link=0
Nbr_BD_Link=`
sqlplus -S sysadm/${PSWD}@${DB_Name} << EOF
        set head off feedback off  ;
        select count(*) from dba_db_links ;
        exit ;
EOF `
echo "Nbr_BD_Link is : "
echo ${Nbr_BD_Link}
echo "we do a test"
Nbr_BD_Link=0
if [ "${Nbr_BD_Link}" != "0" ] ; then
echo "${T80}\nLa base ${DB_Name} contient ${Nbr_BD_Link} DB Link :"
fi
Het resultaat zou zijn
Code:
Nbr_BD_Link is :
0
we do a test
De voorwaarde wordt nageleefd en de voorwaardelijke echo "$ (T80) \ NLa basisareaal $ () DB_Name bevat $ () Nbr_BD_Link OB Link:" is niet uitgevoerd.
Waarom? Enig idee?
Hulp? bedankt.
Wellicht enige chicho op het einde van Nbr_BD_Link? Hoe houden gewoon nul?
  #2 (permalink)  
Old 08-01-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
Zoals u kunt zien in de productie en verwachten van je script, heeft het een leidende newline en sommige ruimtes. Haal de newline net na de opening backtick en / of gebruik maken van een vergelijking exploitant die is iets minder kieskeurig over witruimte (Ik ben geneigd aan te bevelen geval over IF-test).
  #3 (permalink)  
Old 08-01-2008
big123456 big123456 is offline
Geregistreerde gebruiker
  
 

Join Date: May 2005
Posts: 200
Bedankt.
Hoe Haal de newline net na de opening backtick?
iTRIED VOOR DE ZAAK /
: mens geval
Handmatige invoer voor het geval niet gevonden of niet geïnstalleerd.
[: man selecteer
Handmatige invoer voor kiezen niet gevonden of niet geïnstalleerd.
[: man ZAAK
Handmatige invoer voor zaak niet gevonden of niet geïnstalleerd.

Laatst gewijzigd door big123456; op 08.01.2008 10:17..
  #4 (permalink)  
Old 08-01-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
geval is een shell built-in, zoals als en terwijl; Het is gedocumenteerd in de sh manual page. Als u bash (of ik aanneem, een van een aantal andere moderne schelpen), proberen helpen geval

Je hebt een newline vóór "sqlplus"; door "nemen het newline" Ik bedoel, verplaatsen de sqlplus bevel tot dezelfde lijn als de opening backtick.

Code:
Nbr_BD_Link=`sqlplus -S sysadm/${PSWD}@${DB_Name} << EOF
        set head off feedback off  ;
        select count(*) from dba_db_links ;
        exit ;
EOF `
echo "Nbr_BD_Link is '${Nbr_BD_Link}'"
echo "we do a test"
case ${Nbr_BD_Link} in
  *[1-9]*) echo "${T80}\nLa base ${DB_Name} contient ${Nbr_BD_Link} DB Link :" ;;
esac
Let op de toevoeging van enkele aanhalingstekens in de diagnose "Nbr_BD_Link is'...'" - die zijn er alleen om u te helpen zie de eventuele voor-of witruimte.

Laatst gewijzigd door tijdperk; op 08.01.2008 10:35.. Reden: Ook de suggestie 'helpen zaak "
  #5 (permalink)  
Old 08-01-2008
big123456 big123456 is offline
Geregistreerde gebruiker
  
 

Join Date: May 2005
Posts: 200
Bedankt.
Closed Thread

Bladwijzers

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 06:13 PM.


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