08-10-2011
Shell if with no parens takes a single command execution string, possibly piped and subshell'd (), and a $? of 0 is true, like "if grep -q haha logfile ; then . . . ." The $? is from the last command, as I recall, so "if find . -type f|grep -q .profile ; then . . . ." tests the exit() value of grep and "if ( find . -type f >/tmp/myfiles ; grep -q .profile /tmp/myfiles ); then . . . ." also tests grep. (An extra fork() and named file open twice is probably more expensive than a pipe() call, slower because of latency and leaves a file behind.)
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
RBASH(1) General Commands Manual RBASH(1)
NAME
rbash - restricted bash, see bash(1)
RESTRICTED SHELL
If bash is started with the name rbash, or the -r option is supplied at invocation, the shell becomes restricted. A restricted shell is
used to set up an environment more controlled than the standard shell. It behaves identically to bash with the exception that the follow-
ing are disallowed or not performed:
o changing directories with cd
o setting or unsetting the values of SHELL, PATH, ENV, or BASH_ENV
o specifying command names containing /
o specifying a file name containing a / as an argument to the . builtin command
o specifying a filename containing a slash as an argument to the -p option to the hash builtin command
o importing function definitions from the shell environment at startup
o parsing the value of SHELLOPTS from the shell environment at startup
o redirecting output using the >, >|, <>, >&, &>, and >> redirection operators
o using the exec builtin command to replace the shell with another command
o adding or deleting builtin commands with the -f and -d options to the enable builtin command
o using the enable builtin command to enable disabled shell builtins
o specifying the -p option to the command builtin command
o turning off restricted mode with set +r or set +o restricted.
These restrictions are enforced after any startup files are read.
When a command that is found to be a shell script is executed, rbash turns off any restrictions in the shell spawned to execute the script.
SEE ALSO
bash(1)
GNU Bash-4.0 2004 Apr 20 RBASH(1)