Visit Our UNIX and Linux User Community


Integer expression expected: with regular expression


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Integer expression expected: with regular expression
# 1  
Old 03-14-2011
Network 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.

Code:
source $CA_VERSION_DATA
if [ $CA_RELEASE -ne [0-9]* ]
then
echo "CA_RELESE $CA_RELEASE is invalid"
exit -1
fi

Code:
+ source /etc/ncgl/ca_version_data
++ CA_PRODUCT_ID=samxts
++ CA_RELEASE=6
++ CA_WEEK_NO=7
++ CA_COMPILE_NO=3
++ CA_MNCL_ID=0
+ '[' 6 -ne '[0-9]*' ']'
/usr/sbin/delete_old_patch: line 21: [: [0-9]*: integer expression expected


How to resolve this? Please help

Last edited by pludi; 03-14-2011 at 09:48 AM..
# 2  
Old 03-14-2011
can you try to check in this way:
Code:
echo $CA_RELEASE | grep -oEx "[1-9][0-9]*"

oops, clicked submit by accident...

if result is not empty -> not integer.
if got result -> integer
# 3  
Old 03-14-2011
try
Code:
if [ "$val" -eq "$val" 2> /dev/null ]; then
    echo "is number"
else
    echo "not number"
fi

The redirect hides the error message.
# 4  
Old 03-14-2011
If the mere presence of a non-decimal-digit is sufficient, the following may suffice:
Code:
case ${CA_RELEASE:-a} in
    *[!0-9]*) echo Not an integer ;;
           *) echo An integer ;;
esac

Regards,
Alister

Last edited by alister; 03-14-2011 at 04:01 PM..

Previous Thread | Next Thread
Test Your Knowledge in Computers #595
Difficulty: Medium
In C, the starting point in the executable program is the prime() function.
True or False?

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

Hi, echo $i until || do read NUM if && ; 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: [: :... (5 Replies)
Discussion started by: milink
5 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

Featured Tech Videos