problems with If


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers problems with If
# 1  
Old 01-04-2009
problems with If

I'm having problems uses "if"

it works fine when i do this.

#!/bin/sh

a= 10
qw= 2
w= 20
{
if [ $a -ge $qw ] && [ $a -lt $w ];then

echo 3
fi
}

However if i try to do

#!/bin/sh

a= 10
qw= 2.5
w= 20.3
{
if [ $a -ge $qw ] && [ $a -lt $w ];then

echo 3
fi
}

It stops work, does any one know if there's a way to use if with decimal points?

cheers
Ps. sorry about the spelling.
# 2  
Old 01-04-2009
You are NOT "having problem using 'if'".
You are having a problem comparing decimal numbers.

This was answered here years ago:

https://www.unix.com/shell-programmin...l-numbers.html
# 3  
Old 01-05-2009
Hi,

We are using AIX flavour and the decimal number comparison is working fine.

Pls let me know if this is because of the unix flavour.

Thanks
# 4  
Old 01-05-2009
Hi,

Pls remove space while assigning value to variable. And try the same.

Hope this should work. Also pls post the error msg what you are getting.

Thanks
# 5  
Old 01-08-2009
I've manage to get it to work. i removed the spaces while assigning value to variables and replaced.

#!/bin/sh
a= 10
qw= 2.5
w= 20.3
{
if [ $a -ge $qw ] && [ $a -lt $w ];then

echo 3
fi
}

with

#!/bin/sh
a=10
qw=2.5
w=20.3

if awk 'BEGIN{if('$a'>='$qw')exit;exit 1}' && awk 'BEGIN{if('$a'<'$w')exit;exit 1}';then
echo 3
fi

Thanks for the help.
# 6  
Old 01-08-2009
Quote:
Originally Posted by Gayucvns
Hi,

We are using AIX flavour and the decimal number comparison is working fine.

Pls let me know if this is because of the unix flavour.

Thanks
yes. You are probably using ksh93. Try the following to confirm. Also note you should use (( )) instead of [[ ]] or [] when dealing with numbers in ksh93.
Code:
printf "KSH93 Version: ${.sh.version}\n"

a=10
qw=2.5
w=20.3

if (( a > qw )) && (( a < w ))
then
    printf "3\n"
fi

 
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

About ps -ef and if-else problems

I'm new in Shell Programming and Scripting, I would like to ask some questions. ps -ef | grep $appNAme | grep -v grep <-- what will it return when it find a process is running? return 1 or 0 if then exit 1 <--- if = 0 , run this ? else continue <--- if = 1 , run this ?... (5 Replies)
Discussion started by: LoAlex
5 Replies

2. Shell Programming and Scripting

If/then problems

#! /bin/bash # ask what the user would like to do CMD=$CMD MBA=$MB RS=$RS CT=$CT echo echo -n "What would you like to do?? REMEMBER WHEN PROGRAMMING ICP's TO SELECT CORRECT COMMAND ACCORDING TO NECCESSARY TYPE CODE! Please enter a command ct = program ctek ... (5 Replies)
Discussion started by: tdalyman
5 Replies

3. UNIX for Dummies Questions & Answers

Problems with IF Else ??!!

I have written the following code in cygwin to create directories in windows based on the parameter passed. echo $1 > fullpath path1=`awk -F / '{print $1}' $fullpath path2=`awk -F / '{print $2}' $fullpath if then if then if then continue ... (4 Replies)
Discussion started by: janardhanamk
4 Replies

4. SuSE

Problems!!

good friends I am new to linux and I have the following TELNET service problem entering data devo telnet to a Windows server 2003 server and passes will not let me since the move to this server by telnet tells me the characters and thus invalidates me income, I have a service application... (1 Reply)
Discussion started by: pepetico
1 Replies

5. Shell Programming and Scripting

Problems with $?

Hello, I have the following piece of code that tries to retrieve the result of a .sh: . $HOME/prueba/Scripts/Recogida/recogida_sedra.sh resultado=$? echo "el resultado es : $resultado" if ; then echo "Se va a preprocesar los archivos" In the code of recogida.sh I have the... (8 Replies)
Discussion started by: danietepa
8 Replies

6. UNIX for Dummies Questions & Answers

Problems with using less

Hello, I am having problems with using less on Linux version 2.6.18-92.1.17.el5 (brewbuilder@hs20-bc1-7.build.redhat.com) (gcc version 4.1.2 20071124 (Red Hat 4.1.2-42)). I am using csh but have the same problems on bash. If I pipe something to less it works perfectly i.e. cat file | less... (9 Replies)
Discussion started by: z1dane
9 Replies

7. UNIX for Advanced & Expert Users

Problems with Last

Hi, I,ve a Unixware 7.1.3 working correctly for two years ago, since a several weeks I've a problem with the command last . The information that this command return is : For example : 1.- The user root , time login : 12:15 h, time logoff 12:15 h (the real time is 14:00). Connected time is... (3 Replies)
Discussion started by: By_Jam
3 Replies

8. UNIX for Dummies Questions & Answers

Few problems

Hi how can i do this? 1) shell script which writes data and time on to a file if filesystem exceeds 70% of space. 2) make entry to cron table to run a script every 15 mins. and can anyone expplain or demonstrate the difference between variables used in inside a function and outside a... (3 Replies)
Discussion started by: vivekshankar
3 Replies

9. UNIX for Advanced & Expert Users

'make' problems (compliation problems?)

I'm trying to compile and install both most recent version of 'make' and the most recent version of 'openssh' on my Sparc20. I've run into the following problems... and I don't know what they mean. Can someone please help me resolve these issues? I'm using the 'make' version that was... (5 Replies)
Discussion started by: xyyz
5 Replies
Login or Register to Ask a Question