The && and || operators are not a replacement for a proper if - else - fi block".
While one can use subshells, as you did, to do additional tasks if a false has returned, being a subshell, you cannot exit from there, as it just exits the subshell, not the script.
Now try:
Check if of the if blocks exit status, by executing:
After you ran the script.
hth
EDIT:
Simply said, the && and || operators are only good for SIMPLE checks, not for complex checking.
MAinly because one cannot use multiple instances of ||, if ANY previous condition fails, it'll go to the first ||, and be done after.
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)
Discussion started by: weesiong
3 Replies
LEARN ABOUT SUSE
create_operator
CREATE OPERATOR(7) SQL Commands CREATE OPERATOR(7)NAME
CREATE OPERATOR - define a new operator
SYNOPSIS
CREATE OPERATOR name (
PROCEDURE = funcname
[, LEFTARG = lefttype ] [, RIGHTARG = righttype ]
[, COMMUTATOR = com_op ] [, NEGATOR = neg_op ]
[, RESTRICT = res_proc ] [, JOIN = join_proc ]
[, HASHES ] [, MERGES ]
)
DESCRIPTION
CREATE OPERATOR defines a new operator, name. The user who defines an operator becomes its owner. If a schema name is given then the opera-
tor is created in the specified schema. Otherwise it is created in the current schema.
The operator name is a sequence of up to NAMEDATALEN-1 (63 by default) characters from the following list:
+ - * / < > = ~ ! @ # % ^ & | ` ?
There are a few restrictions on your choice of name:
o -- and /* cannot appear anywhere in an operator name, since they will be taken as the start of a comment.
o A multicharacter operator name cannot end in + or -, unless the name also contains at least one of these characters:
~ ! @ # % ^ & | ` ?
For example, @- is an allowed operator name, but *- is not. This restriction allows PostgreSQL to parse SQL-compliant commands without
requiring spaces between tokens.
The operator != is mapped to <> on input, so these two names are always equivalent.
At least one of LEFTARG and RIGHTARG must be defined. For binary operators, both must be defined. For right unary operators, only LEFTARG
should be defined, while for left unary operators only RIGHTARG should be defined.
The funcname procedure must have been previously defined using CREATE FUNCTION and must be defined to accept the correct number of argu-
ments (either one or two) of the indicated types.
The other clauses specify optional operator optimization clauses. Their meaning is detailed in in the documentation.
PARAMETERS
name The name of the operator to be defined. See above for allowable characters. The name can be schema-qualified, for example CREATE
OPERATOR myschema.+ (...). If not, then the operator is created in the current schema. Two operators in the same schema can have the
same name if they operate on different data types. This is called overloading.
funcname
The function used to implement this operator.
lefttype
The data type of the operator's left operand, if any. This option would be omitted for a left-unary operator.
righttype
The data type of the operator's right operand, if any. This option would be omitted for a right-unary operator.
com_op The commutator of this operator.
neg_op The negator of this operator.
res_proc
The restriction selectivity estimator function for this operator.
join_proc
The join selectivity estimator function for this operator.
HASHES Indicates this operator can support a hash join.
MERGES Indicates this operator can support a merge join.
To give a schema-qualified operator name in com_op or the other optional arguments, use the OPERATOR() syntax, for example:
COMMUTATOR = OPERATOR(myschema.===) ,
NOTES
Refer to in the documentation for further information.
The obsolete options SORT1, SORT2, LTCMP, and GTCMP were formerly used to specify the names of sort operators associated with a merge-join-
able operator. This is no longer necessary, since information about associated operators is found by looking at B-tree operator families
instead. If one of these options is given, it is ignored except for implicitly setting MERGES true.
Use DROP OPERATOR [drop_operator(7)] to delete user-defined operators from a database. Use ALTER OPERATOR [alter_operator(7)] to modify
operators in a database.
EXAMPLES
The following command defines a new operator, area-equality, for the data type box:
CREATE OPERATOR === (
LEFTARG = box,
RIGHTARG = box,
PROCEDURE = area_equal_procedure,
COMMUTATOR = ===,
NEGATOR = !==,
RESTRICT = area_restriction_procedure,
JOIN = area_join_procedure,
HASHES, MERGES
);
COMPATIBILITY
CREATE OPERATOR is a PostgreSQL extension. There are no provisions for user-defined operators in the SQL standard.
SEE ALSO
ALTER OPERATOR [alter_operator(7)], CREATE OPERATOR CLASS [create_operator_class(7)], DROP OPERATOR [drop_operator(7)]
SQL - Language Statements 2010-05-14 CREATE OPERATOR(7)