Salut,
J'ai ce 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
Le résultat de l'exécution est
Code:
Nbr_BD_Link is :
0
we do a test
--------------------------------------------------------------------------------
La base MYDB contient
0 DB Link :
Comme vous pouvez le voir, le conditionnel echo "$ (T80) \ nla base db_name) ($ contient $ (DB) Nbr_BD_Link Lien:" est exécuté même si Nbr_Bd_Link est de zéro.
Maintenant, je force Nbr_BD_Link à zéro:
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
Le résultat serait
Code:
Nbr_BD_Link is :
0
we do a test
La condition est respectée et la condamnation echo "$ (T80) \ nla base db_name) ($ contient $ (DB) Nbr_BD_Link Lien:" n'est pas exécuté.
Pourquoi? Any idea?
Any help? merci.
Mai certains caractères à la fin de Nbr_BD_Link? Comment garder le juste zéro?