:integer expression expected


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting :integer expression expected
# 1  
Old 10-20-2010
:integer expression expected

Hi,


Code:
echo $i

until [ "$NUM" -gt "0" ] || [ "$NUM" -le "$i" ]
do
read NUM
      if [ "$NUM" -lt "1" ] && [ "$NUM" -gt "$i" ] ; then
      printf "$FBOLD\nInvalid number, please enter valid backup number: $FREG"
      fi
done


Getting below error :

./import_location.sh: line 234: [: : integer expression expected
./import_location.sh: line 234: [: : integer expression expected
./import_location.sh: line 237: [: : integer expression expected
./import_location.sh: line 234: [: : integer expression expected
./import_location.sh: line 234: [: : integer expression expected

where mistake is done ?

With Regards
# 2  
Old 10-20-2010
What value doesn $NUM have?
# 3  
Old 10-20-2010
As the error says, it is expecting at
Code:
... [ "$NUM" ...

an integer.

Maybe echo $NUM to check what it currently is or add a set -x and a set +x to enable and disable debugging.
# 4  
Old 10-20-2010
What Shell are you using?
What is a sample value for $i , and what does it signify?
What is a sample value for $NUM?
What is a valid range for $NUM ?
# 5  
Old 10-20-2010
Which shell are you using ?
try to
double the bracket [[ ]]
initialize your variable
gather the contitions into one bracket [[ || ]] instead of [[ ]] || [[ ]]
remove the double quote inside condition brackets (should be the last thing to try)
... and see if a miracle happen Smilie

what about this statement :
Code:
printf "$FBOLD\nInvalid number, please enter valid backup number: $FREG"

shouldn't it be smthg like
Code:
printf "%s \nInvalid number, please enter valid backup number:  " $FBOLD 
read FREG

or whatever format should $FBOLD fit

I think your printf syntax may need to be checked

Last edited by ctsgnb; 10-20-2010 at 02:01 PM..
# 6  
Old 10-20-2010
Try this:

Code:
echo $i

while true
do
    read NUM
    if [ $NUM -gt 0 -a $NUM -le $i ] 2> /dev/null; then
        break
    fi
    printf "$FBOLD\nInvalid number, please enter valid backup number: $FREG"
done

Also handles any non numeric NUM values: test will fail so break isn't executed, redirect stderr to /dev/null to hide shell error message.

Last edited by Chubler_XL; 10-20-2010 at 03:35 PM..
This User Gave Thanks to Chubler_XL For This Post:
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

Integer expression expected

Hi, I am getting the below error while comparing the month of a file to current month. I am using ls -lrth to get the month of that file and while using the if else condition i am getting the below error.. a1=`ls -lrth abc.txt | awk '{print substr($6,1,3)}'` This gives me the month from... (1 Reply)
Discussion started by: jaituteja
1 Replies

3. Shell Programming and Scripting

Integer expression expected

I need some help with this if but then it says line 11: I don't know what I'm doing wrong (1 Reply)
Discussion started by: margg
1 Replies

4. Shell Programming and Scripting

Integer expression expected

Hi, I have placed the script and running successfully on AIX However in Linux it throws integer expression expected Could some one please help me to fix this MaxThreshold4alert=`echo "$MaxCapacitycnt*(80/100)" |bc -l` echo $MaxThreshold4alert Error: 40.00000000000000000000: integer... (2 Replies)
Discussion started by: ajothi
2 Replies

5. Shell Programming and Scripting

Integer expression expected

hi Guys, when i run the below script its showing error "integer expression expected" script pasted below: #!/bin/sh for i in {1..$2} do if then scp server1:/root/file.2012-$1-0$i . else scp server1:/root/file.2012-$1-$i . fi done (8 Replies)
Discussion started by: ganga39
8 Replies

6. Shell Programming and Scripting

Integer expression expected

Newb here echo "$yesterdaysclose" echo "$close" if ; then echo "stocks moving up" elif ; then echo "stock is moving down" else echo "no change" fi seems to evaluate the floating decimal correctly however returns ./shellscript1.sh: line 17: [: : integer expression expected... (3 Replies)
Discussion started by: harte
3 Replies

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

8. UNIX for Dummies Questions & Answers

Integer Expression Expected!?!?

Ok, so I am beggining a script to factor the time difference from when a user logs on to current time but before I can even get too far I am getting the INTEGER EXPRESSION EXPECTED error. Can someone tell me what I am doing wrong? lhour=$(who | grep "$1" | cut -c30,31); lmin=$(who | grep "$1"... (1 Reply)
Discussion started by: losingit
1 Replies

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

10. Shell Programming and Scripting

Integer Expression Expected

Cannot figure out what the error is on line #10 I was trying to change my login prompt though I've success with that this shows up as well. Here's what I have (1 Reply)
Discussion started by: moonunit
1 Replies
Login or Register to Ask a Question