After reviewing the posts on this thread, I believe that the main issue is the lack of double quote characters round strings which contain pipe characters. I'm not convinced that your most recent version (post #11) is sound (but it does appear to work).
This will probably be easier follow and easier to maintain:
Footnote: I got the complete opposite result from pandeesh in post #8 ... as I think did Vijay81.
The script tested in post #8 can be corrected by putting double quotes round the string variables, which is itself best practice.
Hi everyone,
I am new to UNIX and scripting, and I have some problems with the test command.
when i try to execute the command:
test 20070327.gz > 20070320.gz
i try to make a charachter string comparison between the two strings or the two files, to make sure that 20070327.gz is greater than... (2 Replies)
Hi
I am getting few messages when trying to run my script from the following lines in the script
if test
then
// SomeCode
fi
The messages are as follows:
testing.sh: OBLIGOR_GROUP_ID: 0403-012 A test command parameter is not valid.
testing.sh:... (5 Replies)
Hello,
I am trying to add some tests to existing code. The code already contains some test commands. An example is as follows...
] then
Does anyone know the purpose of the double equals? I would have used a single equals sign... (2 Replies)
Plese help me on the below query.
for j in *.20071231* *.ctl *.dat
do
(
if then
cp "$base/*.*" "$base1"
fi
)
done
My requirement is for all files that has extension *.20071231* *.ctl *.dat
should be copied to another folder.
But those with caaa.20071231.log... (7 Replies)
I'm very new to C and could use a little help.
I'm testing to make sure the command is running as it's proper name, if not then fail.
if (strcmp(argv, "xinit") != 0) {
fprintf(stdout, "name = %s length = %d\n",argv,l);
usage(0);
}
This works if the command is... (3 Replies)
This is the code:
while test 1 -eq 1
do
read a
$a
if test $a = stop
then
break
fi
done
I read a command on every loop an execute it.
I check if the string equals the word stop to end the loop,but it say that I gave too many arguments to test.
For example echo hello.
Now the... (1 Reply)
hello,
i'v trying to use the TEST command and i have some problems with it.
i am trying kill all proccess wich is greater than 25.
i started with - ps -f | grep -v TTY | awk '{print $4}'
but i dont know how to proceed from here..
10x a lot, Daniel. (11 Replies)
Hi all,
I would like to ask if there's something wrong with my if - else condition, i couldn't run the script perfectly due to the error in my if - else condition stating that "test: 0403-004 Specify a parameter with this command."
below is the snippet of my script
if && && ]
then echo... (5 Replies)
Hi, im asking for help with the next script:
echo ^;
then
if
then
printf "\033
query1.sh:
export TERM=vt100
export ORACLE_TERM=at386
export ORACLE_HOME=/home_oracle8i/app/oracle/product/8.1.7
export ORACLE_BASE=/home_oracle8i/app/oracle
export... (8 Replies)
Perl::Critic::Policy::ValuesAndExpressions::ProhibitInteUseraContrPerl::Critic::Policy::ValuesAndExpressions::ProhibitInterpolationOfLiterals(3pm)NAME
Perl::Critic::Policy::ValuesAndExpressions::ProhibitInterpolationOfLiterals - Always use single quotes for literal strings.
AFFILIATION
This Policy is part of the core Perl::Critic distribution.
DESCRIPTION
Don't use double-quotes or "qq//" if your string doesn't require interpolation. This saves the interpreter a bit of work and it lets the
reader know that you really did intend the string to be literal.
print "foobar"; #not ok
print 'foobar'; #ok
print qq/foobar/; #not ok
print q/foobar/; #ok
print "$foobar"; #ok
print "foobar
"; #ok
print qq/$foobar/; #ok
print qq/foobar
/; #ok
print qq{$foobar}; #preferred
print qq{foobar
}; #preferred
Use of double-quotes might be reasonable if the string contains single quote (') characters:
print "it's me"; # ok, if configuration flag set
CONFIGURATION
The types of quoting styles to exempt from this policy can be configured via the "allow" option. This must be a whitespace-delimited
combination of some or all of the following styles: "qq{}", "qq()", "qq[]", and "qq//".
This is useful because some folks have configured their editor to apply special syntax highlighting within certain styles of quotes. For
example, you can tweak "vim" to use SQL highlighting for everything that appears within "qq{}" or "qq[]" quotes. But if those strings are
literal, Perl::Critic will complain. To prevent this, put the following in your .perlcriticrc file:
[ValuesAndExpressions::ProhibitInterpolationOfLiterals]
allow = qq{} qq[]
The flag "allow_if_string_contains_single_quote" permits double-quoted strings if the string contains a single quote (') character. It
defaults to off; to turn it on put the following in your .perlcriticrc file:
[ValuesAndExpressions::ProhibitInterpolationOfLiterals]
allow_if_string_contains_single_quote = 1
SEE ALSO
Perl::Critic::Policy::ValuesAndExpressions::RequireInterpolationOfMetachars
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.2Perl::Critic::Policy::ValuesAndExpressions::ProhibitInterpolationOfLiterals(3pm)