Sponsored Content
Top Forums Shell Programming and Scripting if condition not evaluating as expected Post 302442703 by Scott on Thursday 5th of August 2010 06:46:01 AM
Old 08-05-2010
Hi.

What shell are you using, on what OS?

Try this, but going by the error, it's probably much the same:

Code:
if [ $type -eq 1 -a $time -lt 3 ]; then

Shells don't usually handle floating point arithmetic (the number will get truncated), which makes your if problematic.

Code:
$ a=3.3
$ b=3.2
$ [ $a -gt $b ] && echo a is greater than b
$ (no output)


Last edited by Scott; 08-08-2010 at 08:23 AM.. Reason: changed && to -a
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

evaluating params

Hi all, I ve a script like.... TBL=employee sql=`cat abhi.sql` \\ abhi.sql contains ------- select a from $TBL echo $TBL echo $sql SQL=`echo $sql` echo $SQL now i want SQL as select a from employee and as select a from $TBL How can I achieve this? Help appriciated (3 Replies)
Discussion started by: abzi
3 Replies

2. Shell Programming and Scripting

* character evaluating too soon - Help!

I have a user defined configuration file, which could contain the following type of entries: directory_001=/a/directory/structure pattern_001=fred* pattern_002=* I have a script which reads the file generically which will loop round loop 1 genvar=”directory” iteration=”001” ... (11 Replies)
Discussion started by: Bab00shka
11 Replies

3. UNIX for Dummies Questions & Answers

evaluating date +%m

how do i evaluate the value of date if ( $(date +%m) > 8 ) then FY_STAMP=FY$(echo $(($(date +%Y) + 1)) | cut -c3-4) else FY_STAMP=FY$(date +%y) fi i want this to make the FY_STAMP increment by 1 if the month is september and up. but cant seem to make it work (3 Replies)
Discussion started by: rsf01
3 Replies

4. Shell Programming and Scripting

$$# is evaluating to 1 when no value

I have the following in my makefile: RESULT=`../${TOOLS_ROOT_PATH}/ext_tools.sh 11`; \ set $$RESULT > tMp; \ rm tMp; \ if ; then \ echo copying external-local tool: $< \($$*\); \ mkdir -p ${EXTERNAL_LOCAL_BIN_DIR}/$<; \ cp -f... (4 Replies)
Discussion started by: jake_ryan
4 Replies

5. Shell Programming and Scripting

Evaluating a variable

Does anyone know of a way to force a variable name held in another variable to return the value of the first variable? Best if I give an example, that does not work: /usr/local/bin >cat mike.sh NUM1ref=16 NUM2ref=32 echo "==============" for VAR in NUM1 NUM2 do XXXX=${VAR}ref echo $XXXX... (4 Replies)
Discussion started by: mikejordan
4 Replies

6. UNIX for Dummies Questions & Answers

Comparing and Evaluating

Hi Guys, Good day ULF :) I hope you can help me again with my problem. I have a file which looks like this: Command was launched from partition 0. ------------------------------------------------ Executing command in server server3 Dec 18 21:31:12 AHM04 nseventmgr: EVENT-SET:... (4 Replies)
Discussion started by: rymnd_12345
4 Replies

7. Shell Programming and Scripting

if condition-integer expression expected

Hi , getting error in below code integer expression expected. its due to floating point. plz help me to solve this ADV1=94.3 Quantity=96.3 if ; then echo "quantity is greter" fi (6 Replies)
Discussion started by: aish11
6 Replies

8. Shell Programming and Scripting

if condition error: integer expression expected

I am trying to run following condition with both variables having numeric values "1,2,3" if ;when i run it i get following error: $NEW_STATE: integer expression expected Please correct me where I'm doing wrong. I'm trying to check either New State is greater or Old state.... (0 Replies)
Discussion started by: kashif.live
0 Replies

9. Shell Programming and Scripting

unary operator expected, if condition test error.

Hi All, I'm assigning a numeric value to variable count=2, well its being assigned by code above the if condition. I want to test for 2 conditions , when $count = 0 or $count <=2 and do something when the condition matches. here is my code, but i run into the infamous : if ] then ... (2 Replies)
Discussion started by: Irishboy24
2 Replies

10. Shell Programming and Scripting

Problem evaluating condition

First, given this bit of code (line numbers included for reference: 59 get_all_db () { 60 #echo getting all db 61 dblist=`egrep -i "product/12" /etc/oratab |grep -v "listener"|\ 62 awk -F\: '{print $1}'|sort` 63 echo list is $dblist 64 echo 65 echo 66 echo "INSTANCE_NAME ... (15 Replies)
Discussion started by: edstevens
15 Replies
pnmscalefixed(1)					      General Commands Manual						  pnmscalefixed(1)

NAME
       pnmscalefixed - scale a portable anymap quickly, but less accurate

DESCRIPTION
       pnmscalefixed is the same thing as pnmscale except that it uses fixed point arithmetic internally instead of floating point, which makes it
       run faster.  In turn, it is less accurate and may distort the image.

       Use the pnmscale man page with pnmscalefixed.  This man page only describes the difference.

       pnmscalefixed uses fixed point 12 bit arithmetic.  By contrast, pnmscale uses floating point arithmetic which on most machines is  probably
       24  bit	precision.   This  makes pnmscalefixed run faster (30% faster in one experiment), but the imprecision can cause distortions at the
       right and bottom edges.

       The distortion takes the following form: One pixel from the edge of the input is rendered larger in the	output	than  the  scaling  factor
       requires.  Consequently, the rest of the image is smaller than the scaling factor requires, because the overall dimensions of the image are
       always as requested.  This distortion will usually be very hard to see.

       pnmscalefixed with the -verbose option tells you how much distortion there is.

       The amount of distortion depends on the size of the input image and how close the scaling factor is to an integral 1/4096th.

       If the scaling factor is an exact multiple of 1/4096, there is no distortion.  So, for example doubling or halving an image causes no  dis-
       tortion.  But reducing it or enlarging it by a third would cause some distortion.  To consider an extreme case, scaling a 100,000 row image
       down to 50,022 rows would create an output image with all of the input squeezed into the top 50,000 rows, and the last  row  of	the  input
       copied into the bottom 22 rows of output.

       pnmscalefixed  could  probably be modified to use 16 bit or better arithmetic without losing anything.  The modification would consist of a
       single constant in the source code.  Until there is a demonstrated need for that, though, the Netpbm maintainer wants to  keep  the  safety
       cushion afforded by the original 12 bit precision.

       pnmscalefixed does not have pnmscale 's -nomix option.

								 18 November 2000						  pnmscalefixed(1)
All times are GMT -4. The time now is 11:13 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy