Sponsored Content
Top Forums Shell Programming and Scripting Errors in if conditions with to many OR conditions Post 302736957 by Don Cragun on Wednesday 28th of November 2012 07:49:39 AM
Old 11-28-2012
Quote:
Originally Posted by bipinajith
Don Cragun, I see quoting the variables is not helping:-
Code:
# cat test.sh
#!/bin/bash

var1=100
var3=1500

if [ "$var1" -gt 1500 -o "$var2" -gt 1000 -o "$var3" -gt 1000 ]
then
    echo "Success"
else
    echo "Failed"
fi

Code:
# ./test.sh
./test.sh: line 6: [: : integer expression expected
Failed

Code:
# uname
Linux GNU/Linux
# echo $SHELL
/bin/bash

Sorry, I should have said it wasn't a portable fix.

It works with ksh on OS X, but comparing an empty string using a numeric test operator is not required to work. However, I believe that even though it didn't give you what you wanted with bash on Linux, the diagnostic message would be easier to interpret. (At least I think it would be easier to try to find out what to look for when test says it expected an integer expression than it was to figure out what was wrong when it said too many arguments and meant that an unset variable caused a test operator to be misinterpreted as an operand.)

Of course the underlying problem of using variables that don't contain data of the type expected when they are expanded can only be fixed by verifying the format of data before it is used. And, we weren't shown the first 49 lines of the script that failed to set or verify that the variables used in this test contained numeric string values.
This User Gave Thanks to Don Cragun For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

multiple conditions in if/then

Hello, I am having trouble with the syntax with a conditional statement in a BASH script involving multiple conditions. Any suggestions would be greatly appreciated! if ; then array=("${array}" "$dnNum" ) fi i receive this error: ./testscript: ' (4 Replies)
Discussion started by: grandtheftander
4 Replies

2. UNIX for Dummies Questions & Answers

2 or more if conditions

Hello, I have a file as follows: col no:1 2 3 4 5 6 7 8 9 10 11 a 4 226 226 ch:95024048-95027592, 1y224 of 3545 223 224 ident b 53 235 235 ch:148398-148401255, 1y184 of 3187 180 186 ident awk... (3 Replies)
Discussion started by: dr_sabz
3 Replies

3. Shell Programming and Scripting

conditions

./script 89 The script will extract the last digit of the input parameter. example, that is 4. This will be compared to the last digit of the current day of the month ( like day 14; that is 4). A message will displayed on the screen indicating if the digits are the same or not. (1 Reply)
Discussion started by: singh is king
1 Replies

4. Shell Programming and Scripting

While with three conditions

Currently this is what I am trying while || && ]; do I want to continue if the first condition or both the second and third are true but I am getting a too many arguments error. Can someone help me out? (5 Replies)
Discussion started by: whdr02
5 Replies

5. Shell Programming and Scripting

IF OR with two conditions

I have this IF working fine, testing if a char is a digit: if ; then _VALUE=$_VALUE$_CHAR else _ISDIGIT="false" fi Then I add a second condition to test if the char is either a digit or a * if ]; then _VALUE=$_VALUE$_CHAR ... (11 Replies)
Discussion started by: Flavius
11 Replies

6. Shell Programming and Scripting

If conditions need

Dear Expert, Below code is for to take the backup of database by daily time stamp. I need vital help to make my script automatic sending me email if it sucess or fail. echo on @REM Seamonkey's quick date batch (MMDDYYYY format) @REM Setups %date variable @REM First parses month, day, and... (6 Replies)
Discussion started by: Alone
6 Replies

7. Shell Programming and Scripting

awk three conditions

I'm having a problem pulling UID's from data. The data outputs a user's UID in one of three ways: 1. Error User user_name already assigned with <UID> 2. Success <UID> reserved for user_name 3. <a load of crap because there was a db failure yet somehow the UID is still in there> I typically... (5 Replies)
Discussion started by: MaindotC
5 Replies

8. Shell Programming and Scripting

Errors in if conditions.....

#if if then echo $varNO >> AgriN.csv fi done < data The above script throws error such as integer expression expected. How do i rectify that?? (4 Replies)
Discussion started by: nikhil jain
4 Replies

9. Shell Programming and Scripting

Conditions in if

I'm using the below one.. #!/bin/ksh File=$3 if ; then echo "Script" elif ] ;then echo "Passed k or f option" else "Please check the Input passed" fi Command line argument is "k" or -f and file is exist then... (3 Replies)
Discussion started by: Roozo
3 Replies

10. Shell Programming and Scripting

How to match the below conditions?

Hello All, I have 2 files with around 2k records.. I am lost how to build a script to create another file with the below:confused::eek: Match Condition1: File1's 12th Columns data should exact match with File2's 19th Column's data Match Condition2: File1's 28th Column's data format is... (12 Replies)
Discussion started by: ailnilanjan
12 Replies
XmIsTraversable(library call)											     XmIsTraversable(library call)

NAME
XmIsTraversable -- A function that identifies whether a widget can be traversed SYNOPSIS
#include <Xm/Xm.h> Boolean XmIsTraversable( Widget widget); DESCRIPTION
XmIsTraversable determines whether the specified widget is eligible to receive focus through keyboard traversal. In general, a widget is eligible to receive focus when all of the following conditions are true: o The widget and its ancestors are not being destroyed, are sensitive, and have a value of True for XmNtraversalOn. o The widget and its ancestors are realized, managed, and (except for gadgets) mapped. If an application unmaps a widget that has its XmNmappedWhenManaged resource set to True, the return value is undefined. o Some part of the widget's rectangular area is unobscured by the widget's ancestors, or some part of the widget's rectangular area is inside the work window (but possibly outside the clip window) of a ScrolledWindow whose XmNscrollingPolicy is XmAUTOMATIC and whose XmNtraverseObscuredCallback is not NULL. Some widgets may not be eligible to receive focus even if they meet all these conditions. For example, most managers cannot receive focus through keyboard traversal. Some widgets may be eligible to receive focus under particular conditions. For example, a DrawingArea is eli- gible to receive focus if it meets the conditions above and has no child whose XmNtraversalOn resource is True. Note that when all widgets in a shell hierarchy have been made untraversable, they are considered to have lost focus. When a widget in this hierarchy is made traversable again, it regains focus. XmIsTraversable may return unexpected results when widget or its ancestors are overlapped by their siblings. widget Specifies the ID of the widget RETURN
Returns True if the widget is eligible to receive focus through keyboard traversal; otherwise, returns False. RELATED
XmGetVisibility(3) and XmProcessTraversal(3). XmIsTraversable(library call)
All times are GMT -4. The time now is 04:46 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy