Sponsored Content
Top Forums Shell Programming and Scripting Comparison of floating point values in shell Post 302771882 by Don Cragun on Thursday 21st of February 2013 11:53:52 PM
Old 02-22-2013
Quote:
Originally Posted by zaxxon
As a start, put a blank between each square bracket and the variables. Try elif instead of elseif.

Code:
if [ $a -ge 100 ] && [ $a -lt 200 ]
then
     echo "message1"
elif [ $a -ge 200 ] && [ $a -lt 300 ]
then
     echo "message2"
elseif [ $a -ge 300 ] && [ $a -lt 400 ]
then 
     echo "message3"
fi

Indention of code is also a good thing to do.

Oh and forgot to point out, should use double square brackets together with >=, <= .... to be able to compare floating point values.
In recent versions of ksh, you can compare integer and floating point values with both [ expr ] and [[ expr ]], but there are no >= or <= operators and < and > in [[ expr ]] comparisons are for comparing string values, not arithmetic values.

The suggested changes zaxxon proposed in the code tags should work fine when using a ksh version newer than 1988, but keep the -ge and -lt rather than trying to use >= and < for arithmetic comparisons.
This User Gave Thanks to Don Cragun For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

floating point shell variable

I have a two files >cat file1 jjjjj 10.345 6.673 ppp 9.000 5.883 >cat file2 mmm 80 10 jjjjj 10.305 6.873 ppp 9.000 5.883 I am reading file 1 line by line , and look for the string jjjj and then read the line in file 2 with jjjj I want to get the... (5 Replies)
Discussion started by: jojan
5 Replies

2. Shell Programming and Scripting

Rounding off the value of Floating point value

Hello, i have some variables say: x=1.4 y=3.7 I wish to round off these values to : x = 2 (after rounding off) y = 4 (after rounding off) I am stuck. Please help. (7 Replies)
Discussion started by: damansingh
7 Replies

3. Linux

Floating point exception !!!

Hi, I have linux fedora 4 ver., 2.6 kernal. And qmail & mysql & samba servers are already configured on this server. When I try to install any package like squidguard ,dansguardian,webmin,rsnapshots with command rpm -ivh . It is giving error as “Floating point exception" Snap View is... (3 Replies)
Discussion started by: ssk01
3 Replies

4. Linux

Floating Point Exception

Hi, I am compiling "HelloWorld" C progam on 32-bit CentOS and i want to execute it on 64-bit CentOS architecture. For that i copied the a.out file from 32-bit to 64-bit machine, but while executing a.out file on 64bit machine I am getting "Floating point exception error". But we can run... (3 Replies)
Discussion started by: Mandar123
3 Replies

5. Shell Programming and Scripting

How to compare floating point numbers in shell script?

How can we compare 2 floating point numbers in SHELL script? (11 Replies)
Discussion started by: dearanik
11 Replies

6. Shell Programming and Scripting

Arithmetic in floating point

is it not possible to simply di aritmetic without using bc or awk i have tried folllowing operatrions but they support only integer types plz suggest me code for floating using values stored in the variables.the ans i get is integer and if i input floating values i get error numeric constant... (6 Replies)
Discussion started by: sumit the cool
6 Replies

7. Shell Programming and Scripting

floating point variables korn shell

Hi I'm not using Korn93 but want to use floating point variable. Is there any solution to do that ? thx for help. ---------- Post updated at 02:28 PM ---------- Previous update was at 12:38 PM ---------- I have the following peace of code: for n in `cat log.January.1.array` do ... (3 Replies)
Discussion started by: presul
3 Replies

8. Programming

Floating Point

Anyone help me i cant found the error of floating point if needed, i added the code complete #include <stdio.h> #include <string.h> #include <stdlib.h> #include <ctype.h> typedef struct { int hh; int mm; int ss; char nom; int punt; }cancion; typedef struct... (9 Replies)
Discussion started by: Slasho
9 Replies

9. Shell Programming and Scripting

Floating Point Numbers in c shell!

I have started using bash but this script which I am working on it, is in c chell. So here is my simple problem: set x = 0.4124\0.234 echo $x 0.4124.0.234 Same operation in Bash gives me correct result in my terminal. So there is something with my c shell that is causing this behaviour.... (8 Replies)
Discussion started by: dixits
8 Replies

10. Shell Programming and Scripting

Comparison of floating point numbers in bash

I have the following code snippet in bash if ]; then minm=`echo "$diff" | bc` fi It works well for most of the cases. However lets say diff is -0.17 and minm is -0.0017. In such a case the comparison seems to fail. Is the correct way to compare a mixture of positive and... (12 Replies)
Discussion started by: ngabrani
12 Replies
secure_sid_scripts(5)						File Formats Manual					     secure_sid_scripts(5)

NAME
secure_sid_scripts - controls whether setuid and setgid bits on scripts are honored VALUES
Failsafe Default Allowed values Recommended values DESCRIPTION
This tunable controls whether and bits on executable scripts have any effect. Honoring on scripts make a system vulnerable to attack by malicious users. The default value for this variable is 1, indicating that bits are to be ignored by the execve(2) system call for higher security. The tunable can be set to 0 for a compatibility with older releases at the expense of security. Hewlett-Packard strongly recommends that you not change the value of this tunable unless there is an urgent need to do so. When a script with bits is executed, the kernel generates the following error message to both the terminal controlling and the system log. (To view the error message, use dmesg(1M) or inspect Who is Expected to Change This Tunable? Administrator. Restrictions on Changing Changes to this tunable take effect for new scripts started after the change. When Should the Value of This Tunable Be Changed? This tunable controls operational modes rather than data structure sizes and limits. The appropriate setting for a system depends on whether you consider security or compatibility to be most important. A value of is compatible with previous releases of HP-UX, but it is also less secure. A value of provides security against race condition attacks exploiting scripts. What Are the Side Effects of Changing the Value This tunable controls only executable scripts (not programs) with bit set. HP-UX does not ship with any such scripts. If the customer wishes to use scripts, third party applications such as or can be used. Alternatively, the shell script can be wrapped in a simple C pro- gram that runs the shell script with appropriate permissions: What Other Tunable Values Should Be Changed at the Same Time? None. WARNINGS
None. All HP-UX kernel tunable parameters are release specific. This parameter may be removed or have its meaning changed in future releases of HP-UX. Installation of optional kernel software, from HP or other vendors, may cause changes to tunable parameter values. After installation, some tunable parameters may no longer be at the default or recommended values. For information about the effects of installation on tun- able values, consult the documentation for the kernel software being installed. For information about optional kernel software that was factory installed on your system, see at FILES
AUTHOR
was developed by HP. SEE ALSO
chmod(1), execve(2), kctune(1M). Tunable Kernel Parameters secure_sid_scripts(5)
All times are GMT -4. The time now is 07:06 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy