The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > UNIX for Advanced & ekspertbrukere
.
google unix.com



UNIX for Advanced & ekspertbrukere Expert-til-ekspert. Lær avanserte UNIX UNIX kommandoer, Linux operativsystem, systemadministrasjon, programmering, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
TAHI Test Suite 4.0.2 (Self-Test Test Suite grenen) iBot Software Releases - RSS Nyheter 0 07-10-2008 07:50
TAHI Test Suite 3.0.15 (IPv6 Conformance Test Tool grenen) iBot Software Releases - RSS Nyheter 0 07-10-2008 07:50
TAHI Test Suite 3.0.13 (IPv6 Conformance Test Tool grenen) iBot Software Releases - RSS Nyheter 0 04-06-2008 01:20
test-og. testen i samme katalog vikashtulsiyan Sun Solaris 14 12-28-2007 02:25
Keithley lanserer Linux-baserte RF Parametrisk Test Systems - Test og Measurement.com iBot UNIX og Linux RSS Nyheter 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 Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 08-01-2008
big123456 big123456 is offline
Registrert bruker
  
 

Bli Dato: mai 2005
Innlegg: 200
teste om

Hei,
Jeg har dette skriptet:

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

Resultatet av kjøringen er

Code:
Nbr_BD_Link is :
0
we do a test
--------------------------------------------------------------------------------
La base MYDB contient
         0 DB Link :

Som du kan se den betingede echo "$ (T80) \ nLa base $ (DB_Name) contient $ (Nbr_BD_Link) DB Link:" kjøres selv om Nbr_Bd_Link er null.
Nå har jeg makt Nbr_BD_Link å være null:

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

Resultatet vil være

Code:
Nbr_BD_Link is :
0
we do a test

Betingelsen er respektert og betinget echo "$ (T80) \ nLa base $ (DB_Name) contient $ (Nbr_BD_Link) DB Link:" er ikke utført.
Hvorfor? Noen ide?
Any help? takk.
Kan noen caracter på slutten av Nbr_BD_Link? Hvordan beholde bare null?
  #2 (permalink)  
Old 08-01-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
Som du ser fra produksjon og forventer fra skriptet, den har en ledende newline og noen mellomrom. Ta ut newline rett etter åpning backtick og / eller bruke en sammenligning operatøren som er litt mindre kresen om tomme (Jeg pleier å anbefale sak over hvis test).
  #3 (permalink)  
Old 08-01-2008
big123456 big123456 is offline
Registrert bruker
  
 

Bli Dato: mai 2005
Innlegg: 200
Takk.
Hvordan Ta ut newline rett etter åpning backtick?
iTRIED FOR SAKEN /
: mannen sak
Manuell oppføring for fall ikke funnet eller ikke installert.
[: man velger
Manuell oppføring for å velge ikke funnet eller ikke installert.
[: mann SAKEN
Manuell oppføring for CASE ikke funnet eller ikke installert.

Sist endret av big123456; 08-01-2008 på 10:17..
  #4 (permalink)  
Old 08-01-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
sak er et shell innebygd, som dersom, hvis og mens, Den er dokumentert i sh manuell siden. Hvis du har bash (eller, jeg antar at noen av en rekke andre moderne shells), prøv hjelpe sak

Du har en newline før "sqlplus"; ved å "ta ut newline" jeg mente, flytt sqlplus kommandoen på samme linje som åpning 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

Merk tillegg av enkle anførselstegn i diagnostisk "Nbr_BD_Link er'...'" - de er der bare for å hjelpe deg med å se eventuelle foranstilte eller avsluttende mellomrom.

Sist endret av æra; 08-01-2008 på 10:35.. Grunn: foreslår også "help case"
  #5 (permalink)  
Old 08-01-2008
big123456 big123456 is offline
Registrert bruker
  
 

Bli Dato: mai 2005
Innlegg: 200
Takk.
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 07:53.


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