Display Error [: : integer expression expected


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Display Error [: : integer expression expected
# 1  
Old 02-24-2010
Display Error [: : integer expression expected

i have lunix 5.4
i make script to tack the export from database 11g by oracle user
the oracle sheel is /bin/bash
when run this script display this error
Code:
./daily_xport_prod: line 36: [: : integer expression expected

the daily_xport_prod script

Code:
#! /bin/sh
#
ORACLE_HOME=/u01/appl/oracle/product/11.2.0/db_1
export ORACLE_HOME
ORACLE_SID=TESTDB
export ORACLE_SID
PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/etc
export PATH
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${ORACLE_HOME}/lib
export LD_LIBRARY_PATH
expdir="/backup/testdb/exports"
mailm="nienhaus@gdls.com,bradyj@gdls.com"
partition="/backup/testdb"
xsize="100000"
#
#This portion checks the write access to the directory
#
if [ -w "$expdir" ]
then
# This portion is used to get the value of the day in the variable day.
# the export file is named as expdatMon.dmp etc.
#
#ifile is the name of the file the oracle db is exported to.
#
day=`date +%a`
ifile=$expdir"/full_prod_"$day.exp
# Give write access to export file
#chmod 600 $ifile
#
#This portion gets the value of free space in the disk, the value is
# checked and if it is greater than $xsize then the export is performed
# or else a message is sent to the appropriate user_id.
#
#remspace is the variable that contains the free space in home2
remspace=`df -k | awk '$NF == p{print $4}' p=$partition`
if [ "$remspace" -lt "$xsize" ]
then
mailx -s "Oracle export of PROD database on ETP0" $mailm <<!
The "prod" database export failed because the space in the $partition
partition was not enough. "prod" database Export not performed.
!
#chmod 400 $ifile
exit 1
else
gzip < /home/oracle/backup/exp_prod > $ifile.gz &
/u01/appl/oracle/product/11.2.0/db_1/bin/exp parfile=pfile.prod full=Y log=daily_xport_prod.log compress=N statistics=none file=/home/oracle/backup/exp_prod buffer=65536 consistent=y 1> /dev/null 2>&1
if [ $? -ne 0 ]
then
mailx -s "Oracle export of PROD database on ETP0" $mailm <<!
Something went wrong with the "prod" database export.
!
#chmod 400 $ifile
exit 1
else
mailx -s "Oracle export of PROD database on ETP0" $mailm <<!
"prod" database Export finished successfully.
!
tail -1 daily_xport_prod.log | mailx -s "tail of PROD database export log on ETP0" $mailm
exit 0
fi
fi
else
mailx -s "Oracle export of PROD database on ETP0" $mailm <<!
No write permission to directory $expdir. "prod" database Export not performed.
!
exit 1
fi


Last edited by pludi; 02-24-2010 at 04:31 AM.. Reason: restored original post, added code tags
# 2  
Old 02-24-2010
Error

Code:
i have lunix 5.4 
i make script to tack the export from database 11g by oracle user 
the oracle sheel is /bin/bash 
when run this script display this error 
./daily_xport_prod: line 36: [: : integer expression expected 
 
the daily_xport_prod script 
 
#! /bin/sh
#
ORACLE_HOME=/u01/appl/oracle/product/11.2.0/db_1
export ORACLE_HOME
ORACLE_SID=TESTDB
export ORACLE_SID
PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/etc
export PATH
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${ORACLE_HOME}/lib
export LD_LIBRARY_PATH
expdir="/backup/testdb/exports"
mailm="nienhaus@gdls.com,bradyj@gdls.com"
partition="/backup/testdb"
xsize="100000"
#
#This portion checks the write access to the directory 
# 
if [ -w "$expdir" ] 
then 
# This portion is used to get the value of the day in the variable day.
# the export file is named as expdatMon.dmp etc.
# 
#ifile is the name of the file the oracle db is exported to. 
# 
day=`date +%a`
ifile=$expdir"/full_prod_"$day.exp
# Give write access to export file
#chmod 600 $ifile 
#
#This portion gets the value of free space in the disk, the value is 
# checked and if it is greater than $xsize then the export is performed
# or else a message is sent to the appropriate user_id.
#
#remspace is the variable that contains the free space in home2 
remspace=`df -k | awk '$NF == p{print $4}' p=$partition`
if [ "$remspace" -lt "$xsize" ] 
then
mailx -s "Oracle export of PROD database on ETP0" $mailm <<!
The "prod" database export failed because the space in the $partition 
partition was not enough. "prod" database Export not performed.
!
#chmod 400 $ifile 
exit 1
else
gzip < /home/oracle/backup/exp_prod > $ifile.gz &
/u01/appl/oracle/product/11.2.0/db_1/bin/exp parfile=pfile.prod full=Y log=daily_xport_prod.log compress=N statistics=none file=/home/oracle/backup/exp_prod buffer=65536 consistent=y 1> /dev/null 2>&1
if [ $? -ne 0 ]
then
mailx -s "Oracle export of PROD database on ETP0" $mailm <<!
Something went wrong with the "prod" database export.
!
#chmod 400 $ifile 
exit 1
else
mailx -s "Oracle export of PROD database on ETP0" $mailm <<!
"prod" database Export finished successfully.
!
tail -1 daily_xport_prod.log | mailx -s "tail of PROD database export log on ETP0" $mailm
exit 0
fi
fi
else
mailx -s "Oracle export of PROD database on ETP0" $mailm <<!
No write permission to directory $expdir. "prod" database Export not performed.
!
exit 1
fi

[/QUOTE]

Last edited by m_salah; 02-24-2010 at 03:40 AM..
# 3  
Old 02-24-2010
please post the code again using code tags. ( select the code and press "#" from the toolbar.)
meanwhile, check whether $remspace is calculating properly. and $xsize has the proper value. and make sure that both are integers.
# 4  
Old 02-24-2010
Code:
#! /bin/sh
#
ORACLE_HOME=/u01/appl/oracle/product/11.2.0/db_1
export ORACLE_HOME
ORACLE_SID=TESTDB
export ORACLE_SID
PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/etc
export PATH
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${ORACLE_HOME}/lib
export LD_LIBRARY_PATH
expdir="/backup/testdb/exports"
mailm="nienhaus@gdls.com,bradyj@gdls.com"
partition="/backup/testdb"
xsize="100000"
#
#This portion checks the write access to the directory 
# 
if [ -w "$expdir" ] 
then 
# This portion is used to get the value of the day in the variable day.
# the export file is named as expdatMon.dmp etc.
# 
#ifile is the name of the file the oracle db is exported to. 
# 
day=`date +%a`
ifile=$expdir"/full_prod_"$day.exp
# Give write access to export file
#chmod 600 $ifile 
#
#This portion gets the value of free space in the disk, the value is 
# checked and if it is greater than $xsize then the export is performed
# or else a message is sent to the appropriate user_id.
#
#remspace is the variable that contains the free space in home2 
remspace=`df -k | awk '$NF == p{print $4}' p=$partition`
if [ "$remspace" -lt "$xsize" ] 
then
mailx -s "Oracle export of PROD database on ETP0" $mailm <<!
The "prod" database export failed because the space in the $partition 
partition was not enough. "prod" database Export not performed.
!
#chmod 400 $ifile 
exit 1
else
gzip < /home/oracle/backup/exp_prod > $ifile.gz &
/u01/appl/oracle/product/11.2.0/db_1/bin/exp parfile=pfile.prod full=Y log=daily_xport_prod.log compress=N statistics=none file=/home/oracle/backup/exp_prod buffer=65536 consistent=y 1> /dev/null 2>&1
if [ $? -ne 0 ]
then
mailx -s "Oracle export of PROD database on ETP0" $mailm <<!
Something went wrong with the "prod" database export.
!
#chmod 400 $ifile 
exit 1
else
mailx -s "Oracle export of PROD database on ETP0" $mailm <<!
"prod" database Export finished successfully.
!
tail -1 daily_xport_prod.log | mailx -s "tail of PROD database export log on ETP0" $mailm
exit 0
fi
fi
else
mailx -s "Oracle export of PROD database on ETP0" $mailm <<!
No write permission to directory $expdir. "prod" database Export not performed.
!
exit 1
fi



---------- Post updated at 03:05 AM ---------- Previous update was at 02:42 AM ----------

Quote:
Originally Posted by anchal_khare
please post the code again using code tags. ( select the code and press "#" from the toolbar.)
meanwhile, check whether $remspace is calculating properly. and $xsize has the proper value. and make sure that both are integers.

Please send me the correct code for this line

Last edited by pludi; 02-24-2010 at 04:32 AM.. Reason: code tags!!!!!!!!!!
# 5  
Old 02-24-2010
what I was trying to say is please check whether the $remspace and $xsize contains some integer value.

what is the value of these variables? try putting echo and debug.
# 6  
Old 02-24-2010
What is the output from these commands:

Code:
df -k

df -k "/backup/testdb"

# 7  
Old 05-02-2010
Display Error [ line 36: [: : integer expression expected ]

what i do
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Integer expression expected

Hello , This is the piece of the code which is giving me trouble if ;then exit_proc "${SOURCEDIR}/${OUT_FILE} does not exists or not readable" 2 else word_count=`wc -l < ${SOURCEDIR}/$OUT_FILE` fi if ;then exit_proc "Word_count is more than allowed limit" 1 else... (6 Replies)
Discussion started by: Sri3001
6 Replies

2. Shell Programming and Scripting

Getting error in bash script; expr $a + 1: integer expression expected

Hi, I am new to shell/bash script. I am trying to run below script #!/bin/bash a=0 b=10 if then echo "a is equal to be" else echo "a is not equal to be" fi MAX=10 while do echo $a a='expr $a + 1' done (1 Reply)
Discussion started by: Mallikgm
1 Replies

3. Shell Programming and Scripting

if condition error: integer expression expected

I am trying to run following condition with both variables having numeric values "1,2,3" if ;when i run it i get following error: $NEW_STATE: integer expression expected Please correct me where I'm doing wrong. I'm trying to check either New State is greater or Old state.... (0 Replies)
Discussion started by: kashif.live
0 Replies

4. UNIX for Dummies Questions & Answers

Integer expression expected error in script

When i run the following code i get an error that says Integer expression expected! How do i fix this? #!/bin/bash if ;then echo "wrong" exit 1 fi if ;then for i in /dev;do if ;then echo $i ls -l fi (4 Replies)
Discussion started by: kotsos13
4 Replies

5. Shell Programming and Scripting

Error: integer expression expected

root@server01 # df -h | grep /tmp | awk {'print $3}' 252M root@server01 # root@server01 # cat /usr/local/tmpchk.sh #!/bin/sh x=`df -h | grep /tmp | awk {'print $3}'` if ; then rm -fr /tmp/somefolder/ else echo "its small" (2 Replies)
Discussion started by: fed.linuxgossip
2 Replies

6. Shell Programming and Scripting

Integer expression expected: with regular expression

CA_RELEASE has a value of 6. I need to check if that this is a numeric value. if not error. source $CA_VERSION_DATA if * ] then echo "CA_RELESE $CA_RELEASE is invalid" exit -1 fi + source /etc/ncgl/ca_version_data ++ CA_PRODUCT_ID=samxts ++ CA_RELEASE=6 ++ CA_WEEK_NO=7 ++... (3 Replies)
Discussion started by: ketkee1985
3 Replies

7. Shell Programming and Scripting

if script error: integer expression expected

Hi, i am making a simple program with a optional -t as the 3rd parameter. Submit course assignment -t dir In the script, i wrote: #!/bin/bash echo "this is course: ${1}" echo "this is assignment #: ${2}" echo "late? : ${3}" if then echo "this is late" fi but this gives me a :... (3 Replies)
Discussion started by: leonmerc
3 Replies

8. Shell Programming and Scripting

New to shellscripting error: ./emailnotifications.sh: line 43: [: FH: integer expression expected

Hi , I'm a beginner in unix shell scripting need help in rectifying an error Source file :test.txt with Header ------ ----- Trailer ex: FH201010250030170000000000000000 abc def jke abr ded etf FE2 I was validating whether the header begin... (2 Replies)
Discussion started by: dudd9
2 Replies

9. Shell Programming and Scripting

integer expression expected error crontab only

I created a bash script that ran fine for awhile on a nightly crontab but then started crashing with commands not found, so I added PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/home/homedir/scripts/myscriptdir export PATH and now I don't get those errors, but... (2 Replies)
Discussion started by: unclecameron
2 Replies

10. Shell Programming and Scripting

integer expression expected error

I'm a beginner so I might make beginner mistakes. I want to count the "#define" directives in every .C file I get the following errors: ./lab1.sh: line 5: ndef: command not found ./lab1.sh: line 6: #!/bin/sh for x in *. do ndef = 'grep -c \#define $x' if ; then ... (2 Replies)
Discussion started by: dark_knight
2 Replies
Login or Register to Ask a Question