Sponsored Content
Top Forums Shell Programming and Scripting Newbie question: modulo operator with negative operand, bug or feature? Post 302951899 by Scrutinizer on Tuesday 11th of August 2015 12:39:43 PM
Old 08-11-2015
Quote:
Originally Posted by Aia
[...]

-2%5 is -2 according how the sign is handled in languages that satisfy it as a = ((a / b) * b) + (a % b)


An example to show the difference using Perl
Code:
[aia@localhost fleefoot]$ perl -le 'print -2%5'
3
[aia@localhost fleefoot]$ perl -le 'print (-2)%5'
-2

Aia, could you elaborate on why that should render a different outcome ?

In awk:
Code:
awk 'BEGIN {print (-2)%5, -2%5}'
-2 -2

Quote:
Originally Posted by jim mcnamara
@Scrutinizer - what did you try, the original code? [..]
Hi Jim, yes, the original code...
Quote:

NO! it does not need spaces, just leading spaces

I'm wrong - the $(( does not require spaces it is part of command substitution (from opnegroup.org):


But since that is true then why do we get wacky (divergent) results with POSIX-compliant shells? my ksh did not like it. My bash (3.4.3) did after I added some spaces. It specifically complained about %5. Hmm.
What ksh and bash are those on what OS? Any ksh I tried and any bash on any OS did not seem to have a problem with it,

Last edited by Scrutinizer; 08-11-2015 at 01:45 PM..
 

8 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Operator question

I need to find out if a variable contains a certain text string, then do something about it. Here is what I mean, but I don't know how to get a "contains" operator # We have volumes called: # /Volumes/BackupsA_K # /Volumes/BackupsL_Z # /Volumes/Backups_Admin # (could be more, etc)... (5 Replies)
Discussion started by: TheCrunge
5 Replies

2. Shell Programming and Scripting

syntax error: `-a' unexpected operator/operand in IF

When i tyr this, it gives me a syntax error...i tried removing quotes,removing spaces,replacing -eq with '='.. Can somebody suggest that is the problem? if ]; then (4 Replies)
Discussion started by: dba.admin2008
4 Replies

3. UNIX for Dummies Questions & Answers

UNIX newbie NEWBIE question!

Hello everyone, Just started UNIX today! In our school we use solaris. I just want to know how do I setup Solaris 10 not the GUI one, the one where you have to type the commands like ECHO, ls, pwd, etc... I have windows xp and I also have vmware. I hope I am not missing anything! :p (4 Replies)
Discussion started by: Hanamachi
4 Replies

4. Shell Programming and Scripting

perl newbie . &&..programming newbie (question 2)

Hello everyone, I am having to do a lot of perl scripting these days and I am learning a lot. I have this problem I want to move files from a folder and all its sub folders to one parent folder, they are all .gz files.. there is folder1\folder2\*.gz and there are about 50 folders... (1 Reply)
Discussion started by: xytiz
1 Replies

5. Shell Programming and Scripting

OR operator syntax question in AWK script

Hi guys, I confused about syntax used in OR script as follow: I have this sample file separated by "|" containing: January|Month No. 1 February|Month No. 2 March|Month No. 3 April|Month No. 4 May|Month No. 5 June|Month No. 6 July|Month No. 7 August|Month No. 8 September|Month No. 9... (11 Replies)
Discussion started by: cgkmal
11 Replies

6. Shell Programming and Scripting

Modulo calculation in shell script

hi i am writing a progrm to print the even numbers and the code which i am following is as follows #!/usr/bin/bash echo "enter a number a" read a if then echo "the number is even" else echo "the number is odd" fi ~ what is the mistake i am doing ...please tell me (3 Replies)
Discussion started by: harjinder
3 Replies

7. Shell Programming and Scripting

Assignment operator without operand

Does anyone know how this line in bash works? local gotbase= force= nicelevel corelimit local pid base= user= nice= bg= pid_file= local cgroup= These lines are part of the daemon function inside the "functions" file at /etc/init.d in RH. (3 Replies)
Discussion started by: Rameshck
3 Replies

8. What is on Your Mind?

Bug Reporting and Feature Request Tracking on GitHub

Dear All, I created a "new public repo" on GitHub (without the code for now but will post the code there as needed if anyone wants to fix a bug) You can report any forum bugs and report issues in the GitHub "Issues Tab" for this repo here: https://github.com/unixneo/unix.com.bugtracker ... (0 Replies)
Discussion started by: Neo
0 Replies
ALTER 
OPERATOR(7) SQL Commands ALTER OPERATOR(7) NAME
ALTER OPERATOR - change the definition of an operator SYNOPSIS
ALTER OPERATOR name ( { lefttype | NONE } , { righttype | NONE } ) OWNER TO newowner DESCRIPTION
ALTER OPERATOR changes the definition of an operator. The only currently available functionality is to change the owner of the operator. You must own the operator to use ALTER OPERATOR. To alter the owner, you must also be a direct or indirect member of the new owning role, and that role must have CREATE privilege on the operator's schema. (These restrictions enforce that altering the owner doesn't do anything you couldn't do by dropping and recreating the operator. However, a superuser can alter ownership of any operator anyway.) PARAMETERS
name The name (optionally schema-qualified) of an existing operator. lefttype The data type of the operator's left operand; write NONE if the operator has no left operand. righttype The data type of the operator's right operand; write NONE if the operator has no right operand. newowner The new owner of the operator. EXAMPLES
Change the owner of a custom operator a @@ b for type text: ALTER OPERATOR @@ (text, text) OWNER TO joe; COMPATIBILITY
There is no ALTER OPERATOR statement in the SQL standard. SEE ALSO
CREATE OPERATOR [create_operator(7)], DROP OPERATOR [drop_operator(7)] SQL - Language Statements 2010-05-14 ALTER OPERATOR(7)
All times are GMT -4. The time now is 08:10 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy