The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

Go Back   UNIX och Linux Forum > Upp Forum > UNIX för avancerade & Expertanvändare
.
google unix.com



UNIX för avancerade & Expertanvändare Expert-to-experten. Läs avancerade UNIX UNIX-kommandon, Linux operativsystem, systemadministration, programmering, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
TAHI Test Suite 4.0.2 (självtest Test Suite filial) iBot Programversionerna - RSS News 0 07-10-2008 07:50
TAHI Test Suite 3.0.15 (IPv6 Conformance Test Tool filial) iBot Programversionerna - RSS News 0 07-10-2008 07:50
TAHI Test Suite 3.0.13 (IPv6 Conformance Test Tool filial) iBot Programversionerna - RSS News 0 04-06-2008 01:20
provnings-och. testet i samma katalog vikashtulsiyan Sun Solaris 14 12-28-2007 02:25
Keithley lanserar Linux-baserade RF Parametrisk Test Systems - Test och Measurement.com iBot UNIX och 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 denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 08-01-2008
big123456 big123456 is offline
Registered User
  
 

Join Date: maj 2005
Inlägg: 200
test

Hej,
Jag har detta script:
Kod:
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 verkställigheten
Kod:
Nbr_BD_Link is :
0
we do a test
--------------------------------------------------------------------------------
La base MYDB contient
         0 DB Link :
Som ni ser, det villkorade echo "$ (T80) \ nla bas $ (DB_Name) innehåller $ (Nbr_BD_Link) BF Länk:" körs även om Nbr_Bd_Link är noll.
Nu har jag kraft Nbr_BD_Link vara noll:
Kod:
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 skulle bli
Kod:
Nbr_BD_Link is :
0
we do a test
Villkoret respekteras och det villkorade echo "$ (T80) \ nla bas $ (DB_Name) innehåller $ (Nbr_BD_Link) BF Länk:" inte utförs.
Varför? En idé?
Någon hjälp? tack.
Får några karaktär i slutet av Nbr_BD_Link? Hur man kan ha precis noll?
  #2 (permalänk)  
Old 08-01-2008
eran era is offline Forum Advisor  
Herder av Useless Cats (På sabbatsår)
  
 

Join Date: mars 2008
Ort: / det är / / bara / bin / sh
Inlägg: 3652
Som ni kan se i produktion och förväntar sig av ditt manus, den har en ledande newline och vissa utrymmen. Ta ut newline strax efter öppnandet backtick och / eller använda en jämförelse operatör som är något mindre picky om whitespace (jag brukar rekommendera låda över Om testet).
  #3 (permalänk)  
Old 08-01-2008
big123456 big123456 is offline
Registered User
  
 

Join Date: maj 2005
Inlägg: 200
Tack.
Hur Ta ut newline strax efter öppnandet backtick?
iTRIED för ärende /
: mannen fall
Manuell inmatning för fallet inte finns eller inte installerat.
[: man väljer
Manuell post för att välja inte finns eller inte installerat.
[: mannen CASE
Manuell inmatning för fall inte hittas eller inte installerat.

Senast redigerad av big123456; 08-01-2008 vid 10:17..
  #4 (permalänk)  
Old 08-01-2008
eran era is offline Forum Advisor  
Herder av Useless Cats (På sabbatsår)
  
 

Join Date: mars 2008
Ort: / det är / / bara / bin / sh
Inlägg: 3652
låda är ett skal inbyggd, liksom om och stund, Det är dokumenterat i sh manualsidan. Om du har bash (eller, antar jag, något av ett antal andra moderna tankar), försök Hjälp fall

Du har en newline före "sqlplus", med "ta ut newline" Jag menade, flytta sqlplus kommandot på samma linje som öppnas backtick.

Kod:
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
Obs tillägg av enkla citationstecken i diagnosfasen "Nbr_BD_Link är'...'" - de finns där just för att hjälpa dig att se eventuella inledande eller avslutande blanksteg.

Senast redigerad av era; 08-01-2008 vid 10:35.. Orsak: tyder också på "hjälp-målet"
  #5 (permalänk)  
Old 08-01-2008
big123456 big123456 is offline
Registered User
  
 

Join Date: maj 2005
Inlägg: 200
Tack.
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 11:34.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0