Sponsored Content
Top Forums Shell Programming and Scripting if test for higher value between 2 decimal numbers Post 302543004 by emjs on Friday 29th of July 2011 07:36:28 AM
Old 07-29-2011
if test for higher value between 2 decimal numbers

Hi
I would like to test for a max number value. It may be a decimal so I know I have to pipe into bc.
I just cannot get the syntax for this to work. I cannot get passed an error with the bracket - see below.
Any help appreciated.
Regards
Ewan




This works:

Code:
[ewan@sbc-san-01]/export/home/ewan> cat xx.ksh
#!/bin/sh
uname -a

max=6
val=3
if [ $max -gt $val ]
  then
    echo MAX $max VAL $val
  fi

Output:
=======
Code:
[ewan@sbc-san-01]/export/home/ewan> ./xx.ksh   
SunOS sbc-san-01 5.10 Generic_144488-12 sun4v sparc SUNW,SPARC-Enterprise-T5220
MAX 6 VAL 3





This fails:

Code:
[ewan@sbc-san-01]/export/home/ewan> cat ./xx.ksh
#!/bin/sh
uname -a

max=6
val=3
#if [ $max -gt $val ]
if [ $(echo "$max -gt $val" |bc) -eq 1 ]
  then
    echo MAX $max VAL $val
  fi

Output:
=======
Code:
[ewan@sbc-san-01]/export/home/ewan> ./xx.ksh    
SunOS sbc-san-01 5.10 Generic_144488-12 sun4v sparc SUNW,SPARC-Enterprise-T5220
./xx.ksh: syntax error at line 7: `(' unexpected


Last edited by pludi; 07-29-2011 at 08:52 AM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

compare decimal numbers

Hi anyone, i need to compare two decimal numbers i thought that it could be do it with if but... :( So, i'm writing in csh and i really apreciate if anyone can help me if ( $ppl_kn <= $ppl_wb ) then echo "############# KNdiscount model has the lowest perplexity" set... (5 Replies)
Discussion started by: tmxps
5 Replies

2. Shell Programming and Scripting

decimal numbers

Hi friends How can I use "for loop" for decimal numbers? ex: 0.1 < x < 0.6 I used this commands but does'nt work. LIMIT=0.6 for ((x=0.1; x<=LIMIT; x++)) do - - - done Many thanks (1 Reply)
Discussion started by: snow
1 Replies

3. Shell Programming and Scripting

Test decimal number

Hi, I would like test if a number is a decimal number or not (9 Replies)
Discussion started by: francis_tom
9 Replies

4. Shell Programming and Scripting

Comparing Decimal Numbers

Im trying to compare two numbers with decimals but its not working as expected. a=1 b=1.1 if then echo "equal" fi When I do this it says that the numbers are equal. Ultimately Im using -le and -ge in the if statements but I tested with -eq for simplicity. Any way to make this... (3 Replies)
Discussion started by: Grizzly
3 Replies

5. Shell Programming and Scripting

Regarding decimal numbers

Hello... I am new to unix and I am wondering if in a C-shell script , Are we supposed to use only whole numbers........ for example..if a program needs to calculate the average of some numbers........ @ avg = (($1 +$2 + $3)/3)) is returning a whole number.........How can a decimal be... (7 Replies)
Discussion started by: ravindra22
7 Replies

6. UNIX for Dummies Questions & Answers

Condition for decimal numbers

Hi experts, My number output has somehting like below filename /temp 0.23 10.23 How do i put a condition to the above numbers? e.g if then the . seem to give me problems. Pls help. thanks ---------- Post updated at 05:25 PM ---------- Previous update was at 05:23 PM... (9 Replies)
Discussion started by: streddy
9 Replies

7. UNIX for Dummies Questions & Answers

If then else for decimal numbers part2

Hi, I have a small problem with my script. I have everything in order but it doesnt seem to compare anything less than 1 correctly. If the input is more than 1, then the results is correct. If the input is 0.xxx (anything) it returns erroneous results. Pls help input=0.12 if ; then ... (7 Replies)
Discussion started by: streddy
7 Replies

8. Shell Programming and Scripting

Comparing decimal numbers between 0 and 1

For numbers between 0 and 1 the below logic is not working. Output of above shall be "correct" but its echoing "incorrect".Kindly suggest a=.1 if then echo correct else echo incorrect fi Video tutorial on how to use code tags in The UNIX and Linux Forums. (3 Replies)
Discussion started by: itsvikas
3 Replies

9. Shell Programming and Scripting

Swapping a string of numbers between higher and lower order values(HEX)

I have this below string in a variable cutString=21222222222222222122222222222222 this string is nothing but hex values depicted as below 21:22:22:22:22:22:22:22:21:22:22:22:22:22:22:22 so what i want to achieve is swap the lower order with higher order values in the... (3 Replies)
Discussion started by: vivek d r
3 Replies

10. UNIX for Beginners Questions & Answers

Decimal numbers and letters in the same collums: round numbers

Hi! I found and then adapt the code for my pipeline... awk -F"," -vOFS="," '{printf "%0.2f %0.f\n",$2,$4}' xxx > yyy I add -F"," -vOFS="," (for input and output as csv file) and I change the columns and the number of decimal... It works but I have also some problems... here my columns ... (7 Replies)
Discussion started by: echo manolis
7 Replies
All times are GMT -4. The time now is 01:47 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy