The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > UNIX for Advanced & Ekspertsøgning Brugere
.
google unix.com



UNIX for Advanced & Ekspertsøgning Brugere Expert-til-ekspert. Lær avancerede UNIX, UNIX-kommandoer, Linux operativsystemer, systemadministration, programmering, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
TAHI Test Suite 4.0.2 (Self-Test Test Suite filial) iBot Software Releases - RSS Nyheder 0 07-10-2008 07:50 AM
TAHI Test Suite 3.0.15 (IPv6 Overensstemmelse Test Tool filial) iBot Software Releases - RSS Nyheder 0 07-10-2008 07:50 AM
TAHI Test Suite 3.0.13 (IPv6 Overensstemmelse Test Tool filial) iBot Software Releases - RSS Nyheder 0 04-06-2008 01:20 PM
test og. test i samme mappe vikashtulsiyan Sun Solaris 14 12-28-2007 02:25 AM
Keithley Indføjer Linux-baserede RF Parametric Test Systems - Test og Measurement.com iBot UNIX og Linux RSS Nyheder 0 07-23-2007 11:30 AM

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øg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 08-01-2008
big123456 big123456 is offline
Registreret Bruger
  
 

Join Date: May 2005
Stillinger: 200
test, hvis

Hej,
Jeg har dette 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
Resultatet af udførelse 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) indeholder $ (Nbr_BD_Link) BF Link:" eksekveres selvom Nbr_Bd_Link er nul.
Nu vil jeg kraft Nbr_BD_Link at være 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
Resultatet ville være
Code:
Nbr_BD_Link is :
0
we do a test
Denne betingelse er overholdt, og den betingede echo "$ (T80) \ NLA base $ (DB_Name) indeholder $ (Nbr_BD_Link) BF Link:" er ikke eksekveret.
Hvorfor? Enhver idé?
Enhver hjælp? tak.
Kan nogle carácter ved udgangen af Nbr_BD_Link? Sådan holder bare nul?
  #2 (permalink)  
Old 08-01-2008
epoke era is offline Forum Advisor  
Herder af Useless Cats (On Sabbatical)
  
 

Join Date: Mar 2008
Location: / der / er / kun / bin / sh
Stillinger: 3652
Som du kan se fra produktion og forvente af dit script, det har en ledende newline og nogle rum. Tag den newline lige efter åbningen backtick og / eller brug en sammenligning aktør, der er lidt mindre picky ca whitespace (jeg er tilbøjelig til at anbefale æske over hvis testen).
  #3 (permalink)  
Old 08-01-2008
big123456 big123456 is offline
Registreret Bruger
  
 

Join Date: May 2005
Stillinger: 200
Tak.
Hvordan Tag den newline lige efter åbningen backtick?
iTRIED FOR CASE /
: mand tilfælde
Manual henfoersel tilfælde ikke fundet eller ikke installeret.
[: mand vælge
Manual post for at vælge ikke fundet eller ikke installeret.
[: mand CASE
Manual indrejse for CASE ikke fundet eller ikke installeret.

Sidst redigeret af big123456; 08-01-2008 på 10:17 AM..
  #4 (permalink)  
Old 08-01-2008
epoke era is offline Forum Advisor  
Herder af Useless Cats (On Sabbatical)
  
 

Join Date: Mar 2008
Location: / der / er / kun / bin / sh
Stillinger: 3652
æske er en shell indbyggede, gerne hvis og imens; Det er dokumenteret i sh manual side. Hvis du har bash (eller, jeg formoder, enhver af en række andre moderne tanke), så prøv Hjælp sag

Du har en newline før "sqlplus" ved at "tage de newline" Jeg mente, flytte sqlplus kommando til den samme linje som åbningen 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
Bemærk tilføjelsen af enkelt anførselstegn i den diagnostiske "Nbr_BD_Link er'...'" - dem er der bare for at hjælpe dig med at se en eventuel foranstillet eller whitespace.

Sidst redigeret af æra; 08-01-2008 på 10:35 AM.. Årsag: foreslår også, "help-sagen"
  #5 (permalink)  
Old 08-01-2008
big123456 big123456 is offline
Registreret Bruger
  
 

Join Date: May 2005
Stillinger: 200
Tak.
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 11:45 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0