As sea said, your exit commands are exiting the subshell in which they're located; not the parent shell... But, you can reverse the condition and use multiple && operators with a single || operator. Try:
However, just because you CAN do it this way doesn't mean that something more like:
wouldn't be better. This form is easier to read for most code readers and should run as fast or a tiny bit faster than the single line version.
Despite what sea said, a long command line can have more than one meaningful || operator if conditional code follows the first ||. For example:
Last edited by Don Cragun; 09-27-2015 at 02:05 AM..
Reason: Fix typo: s/you're/your/
These 2 Users Gave Thanks to Don Cragun For This Post:
Hi ,
I have a situation.
Need is to create & send a formatted file with header in BOLD & colored & some sequel results as a content.
I know echo -e \033 command, but its scope is limited in PUTTY.
How to retain the formatting out of Putty; say after someone opens a email attachment... (2 Replies)
Dear unix gurus,
I have a data file with header information about a subject and also 3 columns of n rows of data on various items he owns. The data file looks something like this:
adam peter
blah blah blah
blah blah blah
car
01 30 200
02 31 400
03 57 121
.. .. ..
.. .. ..
n y... (8 Replies)
Hi friends,
I have a script that sets the env variable path based on different conditions.
Now the new path variable setting should not done in the same terminal or same shell.
Only a new terminal or new shell should have the new path env variable set.
I am able to do this only as follows:
>cd... (1 Reply)
find . -type f -name "*.sql" -print|xargs perl -i -pe 's/pattern/replaced/g'
this is simple logic to find and replace in multiple files & folders
Hope this helps.
Thanks
Zaheer (0 Replies)
Hi, I hope the title does not scare people to look into this thread but it describes roughly what I'm trying to do. I need a solution in PHP.
I'm a programming beginner, so it might be that the approach to solve this, might be easier to solve with an other approach of someone else, so if you... (0 Replies)
Hello All
I have a xml file with many sets of records
like this
<mytag>mydata</mytag>
<tag2>data&</tag2>
also same file can be like this
<mytag>mydata</mytag>
<tag2>data&</tag2>
<tag3>data2&data3</tag3>
Now i can grep & and replace with & for whole file but it will replace all... (4 Replies)
Hi, I have text file abc.txt. In this file, I have the following data.
Input:
Mr Smith & Mrs Smith
Mr Smith &apos Mrs Smith
Mr Smith & Mrs Smith
Mr Smith& Mrs Smith
Mr Smith &Mrs Smith
Output:
Mr Smith & Mrs Smith
Mr Smith &apos Mrs Smith
Mr Smith & Mrs Smith
Mr Smith&... (4 Replies)
cat file1.txt
field1 "user1":
field2:"data-cde"
field3:"data-pqr"
field4:"data-mno"
field1 "user1":
field2:"data-dcb"
field3:"data-mxz"
field4:"data-zul"
field1 "user2":
field2:"data-cqz"
field3:"data-xoq"
field4:"data-pos"
Now i need to have the date like below.
i have just... (7 Replies)
Firstly, I would like to apologize if this is not the appropriate sub-forum to post about GNU/BSD makefile scripting. Though my code is in C++, because I am focusing on the makefile I thought it would go better in shell scripting. Please correct me if I am wrong.
Secondly, I am not interested in... (0 Replies)
Hi All,
Do you have any sample script,
- auto get file from SFTP remote server and delete file in remove server after downloaded.
- only download specify filename
- auto upload file from local to SFTP remote server and delete local folder file after uploaded
- only upload specify filename
... (3 Replies)
Perl::Critic::Policy::Subroutines::RequireFinalReturn(3pUser Contributed Perl DocumentatPerl::Critic::Policy::Subroutines::RequireFinalReturn(3pm)NAME
Perl::Critic::Policy::Subroutines::RequireFinalReturn - End every path through a subroutine with an explicit "return" statement.
AFFILIATION
This Policy is part of the core Perl::Critic distribution.
DESCRIPTION
Require all subroutines to terminate explicitly with one of the following: "return", "carp", "croak", "die", "exec", "exit", "goto", or
"throw".
Subroutines without explicit return statements at their ends can be confusing. It can be challenging to deduce what the return value will
be.
Furthermore, if the programmer did not mean for there to be a significant return value, and omits a return statement, some of the
subroutine's inner data can leak to the outside. Consider this case:
package Password;
# every time the user guesses the password wrong, its value
# is rotated by one character
my $password;
sub set_password {
$password = shift;
}
sub check_password {
my $guess = shift;
if ($guess eq $password) {
unlock_secrets();
} else {
$password = (substr $password, 1).(substr $password, 0, 1);
}
}
1;
In this case, the last statement in check_password() is the assignment. The result of that assignment is the implicit return value, so a
wrong guess returns the right password! Adding a "return;" at the end of that subroutine solves the problem.
The only exception allowed is an empty subroutine.
Be careful when fixing problems identified by this Policy; don't blindly put a "return;" statement at the end of every subroutine.
CONFIGURATION
If you've created your own terminal functions that behave like "die" or "exit", then you can configure Perl::Critic to recognize those
functions as well. Just put something like this in your .perlcriticrc:
[Subroutines::RequireFinalReturn]
terminal_funcs = quit abort bailout
BUGS
We do not look for returns inside ternary operators. That construction is too complicated to analyze right now. Besides, a better form is
the return outside of the ternary like this: "return foo ? 1 : bar ? 2 : 3"
AUTHOR
Chris Dolan <cdolan@cpan.org>
COPYRIGHT
Copyright (c) 2005-2011 Chris Dolan.
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::Subroutines::RequireFinalReturn(3pm)