redirect for "[: : integer expression expected" error


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers redirect for "[: : integer expression expected" error
# 1  
Old 02-03-2012
redirect for "[: : integer expression expected" error

Hi, I read in this forum that for "[: : integer expression expected" error, redirect the error message (2> /dev/null ) which can hide it.. is this a proper solution for the problem.. please let me know?

https://www.unix.com/shell-programmin...xpression.html

thanks!
# 2  
Old 02-03-2012
It may be desirable or necessary at times to get rid of standard error in this way, but in the case you point to, "proper" would be to fix the code.
# 3  
Old 02-03-2012
in my script, I am comparing the date values.. when DATE_OF_RUN_DB can't be a no value, Actual_Date can have no value.. and this is where I get the
"[: : integer expression expected" error.

code

HTML Code:
if  [ "${Actual_Date}" -lt "${DATE_OF_RUN_DB}"  ]
then
echo "Files older than last processed date are available in landing directory" >>${logfile} 2>&1
exit 1
fi
How do I avoid the error message? Should I redirect it to /dev/null or should I add another If then only if Actual_Date has a value, proceed for this IF loop for comparison?

Thanks!
# 4  
Old 02-03-2012
-lt is a numeric operator. What format are these dates in? The best format for numerical comparison of dates is always YYYYMMDDHHMMSS. Can you change the dates to this format?
# 5  
Old 02-03-2012
date values are in YYYYMMDD.. there is no timestamp part for the date fields.. how do I add timestamp to date values? if one of the date values can be empty which is a valid scenario in my case, how do I avoid the error message?
# 6  
Old 02-03-2012
OK, nice. It's the format that makes it easy, so the timestamp doesn't matter (you can miss off less significant parts (from both numbers) without breaking a numerical comparison).

A couple of possible options:

Code:
if  [[ "${Actual_Date}" -lt "${DATE_OF_RUN_DB}"  ]]

if your shell supports it, or
Code:
if  [ "${Actual_Date:-0}" -lt "${DATE_OF_RUN_DB:-0}"  ]

although I have to say, I don't get an error for an unset variable when it's quoted in the test. You must be using Solaris Smilie
# 7  
Old 02-03-2012
thanks Scott, that works

I am on LINUX.

actually, as it is a date value, should n't I use the defaule date - ex 00010101 instead of 0 with which it can't compare another date value..

I mean only the ACTUAL_DATE can or can't have values... the DATE_OF_RUN_DB should have a valida date value.. so if I default ACTUAL_DATE to 0, will it not throw an error?
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. 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

2. 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

3. 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

4. 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

5. Shell Programming and Scripting

cshell integer expression from "0000" to "1999"

I have 2000 files named like "file-fr0000.log", "file-fr1999.log"... I wanna generate the file names automatically in the following c shell script: set fr = 0 while ($fr <= 1999) grep "ENERGY" file-fr$fr.log > data.dat @ fr = ( $fr + 1 ) end The above will generate file names... (3 Replies)
Discussion started by: rockytodd
3 Replies

6. Shell Programming and Scripting

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 ./daily_xport_prod: line 36: the daily_xport_prod script #! /bin/sh # ORACLE_HOME=/u01/appl/oracle/product/11.2.0/db_1 export... (8 Replies)
Discussion started by: m_salah
8 Replies

7. Fedora

"integer expression expected" error with drive space monitoring script

Hi guys, I am still kinda new to Linux. Script template I found on the net and adapted for our environment: #!/bin/sh #set -x ADMIN="admin@mydomain.com" ALERT=10 df -H | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $1 }' | while read output; do #echo $output ... (2 Replies)
Discussion started by: wbdevilliers
2 Replies

8. 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

9. Shell Programming and Scripting

error "integer expression expected" when selecting values

dear members, I am having some difficulties with an automation script that I am writing. We have equipments deployed over our network that generate status messages and I was trying an automated method to collect all information. I did a expect script that telnet all devices, logs, asks for... (4 Replies)
Discussion started by: jorlando
4 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