08-10-2011
When does an if statement need parentheses
I was looking at a script in my little book on bash and saw that one of the if statements had parentheses instead of brackets for the condition. I've been trying to find in my book where it talks about parentheses (because the examples on the if statement in an earlier chapter doesn't seem to mention them.
So I was wondering -- when are parentheses required for an if statement, and when are the brackets required? And could you tell me the syntax for the if statement when using parentheses?
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I'm trying to use the following command to do a batch find and replace in all commonly named files through a file hierarchy
find . -name 'file' |xargs perl -pi -e 's/find/replace/g'
which works fine except for a substitution involving parenthesis.
As a specific example I'm trying to sub... (3 Replies)
Discussion started by: Jeffish
3 Replies
2. Shell Programming and Scripting
Hi
I would like to replace a comma in parentheses to a semicolon for example. Other commas outside () stay unchanged. How can I do this?
aaaa,bbb,ccc,ddd(eee,fff,ggg),hhh,iii
to
aaaa,bbb,ccc,ddd(eee;fff;ggg),hhh,iii
Thanks (5 Replies)
Discussion started by: lalelle
5 Replies
3. UNIX for Dummies Questions & Answers
hi, unix gurus.
i am wondering if someone can give me a clear explanation of the differneces between parentheses and brackets, both single and double.
i have heard that double parentheses (( are used for numerical expressions and that single brackets [ are used for strings. but i see... (1 Reply)
Discussion started by: ankimo
1 Replies
4. Shell Programming and Scripting
Let's say I'm trying to match potentially multiple sets of parentheses. Is there a way in a regular expression to force a match of closing parentheses specifically in the number of the opening parentheses?
For example, if the string is "((foo bar))", I want to be able to say "match any number of... (7 Replies)
Discussion started by: cvp
7 Replies
5. UNIX for Dummies Questions & Answers
Hello,
I have done a great deal of research on this and still cannot come to an understanding of the following:
In if-else statements in shell scripting I have seen examples of single brackets, double brackets, single parantheses, and double paratheses. When should each one be used?
And... (2 Replies)
Discussion started by: mojoman
2 Replies
6. UNIX for Dummies Questions & Answers
Hi,
I tried to adapt bartus's solution to my problem, without success. I want to replace all the occurences of this:
with:
, where something can contain an arbitrary number of balanced parens and brakets.
Any ideas ?
Best, (1 Reply)
Discussion started by: ff1969ff1969
1 Replies
7. Shell Programming and Scripting
Hi.could you explain me what are the rules when we are using double parentesis in if statement,if I put ,the code is working ,with (( is not
#!/bin/bash
if (($# > 0))
then
if ((! -d "$1"))
then
echo "Directory $1 not found"
fi
else
echo Problem
fi (8 Replies)
Discussion started by: lio123
8 Replies
8. Shell Programming and Scripting
This is my input file:
a|b|c(ef)|g|h(km)|p
My output file should look like:
a|b|ef|g|km|p
That is, pipe is the delimiter. The data within pipe must be displayed as it is but if it encounters any data within parentheses, then only the data within parentheses has to be displayed ( the data... (2 Replies)
Discussion started by: ksatish89
2 Replies
9. Shell Programming and Scripting
How to remove first pair of parentheses and content in them from the beginning of the line?
Here's the list:
(ok)-test
(ok)-test-(ing)
(some)-test-(ing)-test
test-(ing)
Desired result:
test
test-(ing)
test-(ing)-test
test-(ing)
Here's what I already tried with GNU sed:
sed -e... (6 Replies)
Discussion started by: useretail
6 Replies
10. Answers to Frequently Asked Questions
Suppose I have this code :
int main () { int i = NULL; /* incorrect */ return 0; }
and I want to put the word between the two parentheses
like this :
int main (void) { int i = NULL; /* incorrect */ return 0; }
which command is used to do it in Linux ? (2 Replies)
Discussion started by: steve120
2 Replies
LEARN ABOUT DEBIAN
perl::critic::policy::codelayout::prohibitparenswithbuiltins
Perl::Critic::Policy::CodeLayout::ProhibitParensWithBuilUser(Contributed Perl DocPerl::Critic::Policy::CodeLayout::ProhibitParensWithBuiltins(3pm)
NAME
Perl::Critic::Policy::CodeLayout::ProhibitParensWithBuiltins - Write "open $handle, $path" instead of "open($handle, $path)".
AFFILIATION
This Policy is part of the core Perl::Critic distribution.
DESCRIPTION
Conway suggests that all built-in functions be called without parentheses around the argument list. This reduces visual clutter and
disambiguates built-in functions from user functions. Exceptions are made for "my", "local", and "our" which require parentheses when
called with multiple arguments.
open($handle, '>', $filename); #not ok
open $handle, '>', $filename; #ok
split(/$pattern/, @list); #not ok
split /$pattern/, @list; #ok
CONFIGURATION
This Policy is not configurable except for the standard options.
NOTES
Coding with parentheses can sometimes lead to verbose and awkward constructs, so I think the intent of Conway's guideline is to remove only
the unnecessary parentheses. This policy makes exceptions for some common situations where parentheses are usually required. However, you
may find other situations where the parentheses are necessary to enforce precedence, but they cause still violations. In those cases,
consider using the '## no critic' comments to silence Perl::Critic.
BUGS
Some builtin functions (particularly those that take a variable number of scalar arguments) should probably get parentheses. This policy
should be enhanced to allow the user to specify a list of builtins that are exempt from the policy.
AUTHOR
Jeffrey Ryan Thalhammer <jeff@imaginative-software.com>
COPYRIGHT
Copyright (c) 2005-2011 Imaginative Software Systems. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of this license
can be found in the LICENSE file included with this module.
perl v5.14.2 2012-06-07 Perl::Critic::Policy::CodeLayout::ProhibitParensWithBuiltins(3pm)