07-19-2014
No I mean the standard test.
Quote:
The XSI extensions specifying the -a and -o binary primaries and the '(' and ')' operators have been marked obsolescent. (Many expressions using them are ambiguously defined by the grammar depending on the specific expressions being evaluated.) Scripts using these expressions should be converted to the forms given below. Even though many implementations will continue to support these obsolescent forms, scripts should be extremely careful when dealing with user-supplied input that could be confused with these and other primaries and operators. Unless the application developer knows all the cases that produce input to the script .....
Test: Application Usage
This User Gave Thanks to Scrutinizer For This Post:
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
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. Shell Programming and Scripting
Guys, Im trying to have a script that evaluates multiple conditions :
test.sh:
if
then
echo "host $1"
else
if
then
echo "host $1"
else
echo $1 not valid
exit 1
fi
when I do
./test.sh brazil1
I get: (4 Replies)
Discussion started by: bashshadow1979
4 Replies
3. Shell Programming and Scripting
Hi All,
I am new to shell scripting.
Can any one say what is wrong in this if statement, that uses multiple conditions
if
then
***************
else
if ( -z $pcs && "$night_time_calc" > "$night_time" )
then
********************************
... (4 Replies)
Discussion started by: ssenthilkumar
4 Replies
4. Shell Programming and Scripting
how can i specify more than 1 consition in the following AWK statament??
i.e. if $2 is ABCD and $3 is MNOP and $4 is KLPM
similarly for OR
#!/bin/ksh
awk -F '' ' $2 == "ABCD" { print $2, $3;}' file.xml (2 Replies)
Discussion started by: skyineyes
2 Replies
5. Shell Programming and Scripting
Hi,
When i use the below code snippet in my shell script OFC_10.sh:
if
then
echo "Success"
exit 2
elif
then
echo "Failure"
exit 6
I get the error message:
./OFC_10.sh: line 41: '
./OFC_10.sh: line 45: '
Line 41 is the line where If loop starts and line 45 is... (2 Replies)
Discussion started by: shrutihardas
2 Replies
6. UNIX for Dummies Questions & Answers
Deal Experts
I am working on a script to find a date which is 7 days older and follwoing is my approach
#!/bin/sh
Yr=`date +"%Y"`
Mn=`date +"%m"`
Md=28
Da=`date +"%d"`
echo $Yr
echo $Mn
echo $Da
var1=$Yr$Mn$Da
echo "before" $var1
if expr $Da > 7
then Da=`expr $Da - 7`... (3 Replies)
Discussion started by: sweetnsourabh
3 Replies
7. UNIX for Dummies Questions & Answers
Hello Unix-Forums!
It has been a long time since my last post, but finally I've got a new question:
I know in case you can use multiple patterns by
case $var in
a|b|c|ab)
and so on.
But how would I place an OR between
if ]
then
...
if ]
then
...
I want to execute the "..." if... (3 Replies)
Discussion started by: intelinside
3 Replies
8. Shell Programming and Scripting
Fellas,
Am new to unix os/ and here the situation , I am trying to write multiple condition statement inside if but it throws me a error
here is my piece of code ,
if ] && ] && ]
then
commands
fi
error : line 15 : `
can someone please advise me how to fix it
Please use... (7 Replies)
Discussion started by: xeccc5z
7 Replies
9. UNIX for Beginners Questions & Answers
Hi Gurus,
Is there a way we can set a logic for this problem ?
The input file looks like below;
1 15 17
2 8 12
3 18 24
4 21 23
5 2 4
6 11 25
So, I would like to print for any row of the input file where the range of value between $2 to $3 lies within the min and max values of Min=10... (2 Replies)
Discussion started by: Indra2011
2 Replies
10. UNIX for Beginners Questions & Answers
I am analyzing one of the scripts written by another person.script is having multiple if conditions and everything are nested.The code is not formatted properly.Is there any way to identify in Unix to identify begin and end of a particular if block? (6 Replies)
Discussion started by: vamsi.valiveti
6 Replies
TEST(1) General Commands Manual TEST(1)
NAME
test - condition evaluation utility
SYNOPSIS
test expression
DESCRIPTION
The test utility evaluates the expression and, if it evaluates to true, returns a zero (true) exit status; otherwise it returns 1 (false).
If there is no expression, test also returns 1 (false).
All operators and flags are separate arguments to the test utility.
The following primaries are used to construct expression:
-b file
True if file exists and is a block special file.
-c file
True if file exists and is a character special file.
-d file
True if file exists and is a directory.
-e file
True if file exists (regardless of type).
-f file
True if file exists and is a regular file.
-g file
True if file exists and its set group ID flag is set.
-h file
True if file exists and is a symbolic link.
-n string
True if the length of string is nonzero.
-p file
True if file is a named pipe
-r file
True if file exists and is readable.
-s file
True if file exists and has a size greater than zero.
-t [file_descriptor]
True if the file whose file descriptor number is file_descriptor (default 1) is open and is associated with a terminal.
-u file
True if file exists and its set user ID flag is set.
-w file
True if file exists and is writable. True indicates only that the write flag is on. The file is not writable on a read-only file
system even if this test indicates true.
-x file
True if file exists and is executable. True indicates only that the execute flag is on. If file is a directory, true indicates
that file can be searched.
-z string
True if the length of string is zero.
string
True if string is not the null string.
s1 = s2
True if the strings s1 and s2 are identical.
s1 != s2
True if the strings s1 and s2 are not identical.
n1 -eq n2
True if the integers n1 and n2 are algebraically equal.
n1 -ne n2
True if the integers n1 and n2 are not algebraically equal.
n1 -gt n2
True if the integer n1 is algebraically greater than the integer n2 .
n1 -ge n2
True if the integer n1 is algebraically greater than or equal to the integer n2 .
n1 -lt n2
True if the integer n1 is algebraically less than the integer n2 .
n1 -le n2
True if the integer n1 is algebraically less than or equal to the integer n2 .
These primaries can be combined with the following operators:
! expression
True if expression is false.
expression1 -a expression2
True if both expression1 and expression2 are true.
expression1 -o expression2
True if either expression1 or expression2 are true.
(expression)
True if expression is true.
The
-a operator has higher precedence than the -o operator.
GRAMMAR AMBIGUITY
The test grammar is inherently ambiguous. In order to assure a degree of consistency, the cases described in the IEEE Std 1003.2
("POSIX"), section D11.2/4.62.4, standard are evaluated consistently according to the rules specified in the standards document. All other
cases are subject to the ambiguity in the command semantics.
RETURN VALUES
The test utility exits with one of the following values:
0 expression evaluated to true.
1 expression evaluated to false or expression was missing.
>1 An error occurred.
BUGS
Named pipes are not implemented in 2.11BSD.
STANDARDS
The test function is expected to be IEEE Std 1003.2 ("POSIX") compatible.
7th Edition March 13, 1995 TEST(1)