Visit Our UNIX and Linux User Community


problem in script involving month arithmetic


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers problem in script involving month arithmetic
# 1  
Old 12-30-2007
problem in script involving month arithmetic

advance happy new year to all,
i am having a script.The purpose of the scripts is as follows.If the current month is march,june,september or december ,inc_flg should be set to '1' otherwise inc_flg should be set to '2'


month= date +"%m"
if [ "$month" -eq 3 ] || [ "$month" -eq 6 ] || [ "$month" -eq 9 ] ||
[ "$month" -eq 12 ] ; then
inc_flg = 1
else
inc_flg = 2
fi

But i am getting inc_flg =2 always.please help me to solve this issue.Is there anyother way to write a script???please help me.thanks in advance
regards,
rajarp
# 2  
Old 12-30-2007
MySQL

u can directly subtituite command in loop u can do this it worksSmilie Smilie

#!/bin/sh

if [ `date +"%m"` -eq 3 ] | [ `date +"%m"` -eq 6 ] | [ `date +"%m"` -eq 9 ] | [ `date +"%m"` -eq 12 ] ; then
echo "inc_flg = 1"
else
echo "inc_flg = 2"
fi
# 3  
Old 12-30-2007
Quote:
Originally Posted by rajarp
month=`date +"%m"`
if [ "$month" -eq 3 ] || [ "$month" -eq 6 ] || [ "$month" -eq 9 ] ||
[ "$month" -eq 12 ] ; then
inc_flg = 1
else
inc_flg = 2
fi
You are missing the backticks.
# 4  
Old 12-30-2007
Quote:
Originally Posted by rajarp
advance happy new year to all,
i am having a script.The purpose of the scripts is as follows.If the current month is march,june,september or december ,inc_flg should be set to '1' otherwise inc_flg should be set to '2'


month= date +"%m"
if [ "$month" -eq 3 ] || [ "$month" -eq 6 ] || [ "$month" -eq 9 ] ||
[ "$month" -eq 12 ] ; then
inc_flg = 1
else
inc_flg = 2
fi

But i am getting inc_flg =2 always.please help me to solve this issue.Is there anyother way to write a script???please help me.thanks in advance
regards,
rajarp
"neater" way to write your if else statement
Code:
...
 case $month in 
   3|6|9|12)  echo "yes";; 
    *) echo "no";; 
 esac
..

# 5  
Old 12-31-2007
Code:
typeset -i month=`date +"%m"`

if [ $month -eq 3 -o $month -eq 6 -o $month -eq 9 -o $month -eq 12 ]
then
   inc_flg=1
else
   inc_flg=2
fi

# 6  
Old 12-31-2007
3,6,9,12 all have a remainder of zero when divided by 3. The other months will have a non-zero remainder. You can use month%3 as the test. If you must have variable called inc_flg with the above mentioned properties, you could just do:
((inc_flg=2-!(month%3)))
# 7  
Old 01-02-2008
u have made my day gud gentlemen..i have used reborg's stuff.....But thanks for all.........Smilie
 

Previous Thread | Next Thread
Test Your Knowledge in Computers #842
Difficulty: Medium
HTTP server push (also known as HTTP streaming) is a mechanism for sending unsolicited (asynchronous) data from a web server to a web browser.
True or False?

10 More Discussions You Might Find Interesting

1. Cybersecurity

Maybe a security problem involving Linux hosts

Hello, with the following problem I feel helpless because I do not know where to look for the problem. Sorry in advance for my poor English. At some point the interaction with people on Freenode IRC has become mysterious and offending so that I checked my modem/router device. When I tried to... (2 Replies)
Discussion started by: SInt
2 Replies

2. Shell Programming and Scripting

Help with simple bash script involving a loop

Dear unix wizards, I'd be very grateful for your help with the following. I have a hypothetical file (file.txt) with three columns: 111 4 0.01 112 3 0.02 113 2 0.03 114 1 0.04 115 1 0.06 116 2 0.02 117 3 0.01 118 4 0.05 Column 2 consists of pairs of integers from 1 to 4 (each... (5 Replies)
Discussion started by: aberg
5 Replies

3. Shell Programming and Scripting

Script to counting a specific word in a logfile on each day of this month, last month etc

Hello All, I am trying to come up with a shell script to count a specific word in a logfile on each day of this month, last month and the month before. I need to produce this report and email it to customer. Any ideas would be appreciated! (5 Replies)
Discussion started by: pnara2
5 Replies

4. Homework & Coursework Questions

Arithmetic Problem with shell script programming.

Hello everybody, I decided to take a Unix Introduction class and have never had experience with programming. Everything was fine until recently when the Prof. started shell scripting and he wants us to make a small script to add unlimited numbers from arguments and from standard input. I... (8 Replies)
Discussion started by: Florinel76
8 Replies

5. Shell Programming and Scripting

Arithmetic Problem with shell script programming.

Hello everybody, I decided to take a Unix Introduction class and have never had experience with programming. Everything was fine until recently when the Prof. started shell scripting and he wants us to make a small script to add unlimited numbers from arguments and from standard input. I... (1 Reply)
Discussion started by: Florinel76
1 Replies

6. Shell Programming and Scripting

Problem in expect script with password involving trailing backslash

Hi all, I have wriiten an expect script that genearates a public private key pair through ssh-keygen and then copies that key to the authorized keys file of the remote system . The problem i am facing is when i get a password for the remote machine containg a trailing backslash , the send command... (4 Replies)
Discussion started by: pradeeptyagi23
4 Replies

7. Programming

A challenging problem involving symbolic links.

Hello, I'm working on an application that bridges together several applications involved in creating a video workflow for editing with digital cinema cameras. The main platform is MacOSX. Because of the nature of some of the utilities for working with this video footage I must spoof filenames... (2 Replies)
Discussion started by: ibloom
2 Replies

8. Shell Programming and Scripting

problem in arithmetic operations

hello all, i am having a variable with a value of 0000010000 and if i add the variable with some no: suppose i=0000010000 n=`expr $i + 1` echo $n the output i am reciving is 10001 .it deletes all the zeros but i need result as 0000010001.. please help me... thanks in... (3 Replies)
Discussion started by: ithirak17
3 Replies

9. UNIX for Dummies Questions & Answers

arithmetic problem

i am used to making scripts for hp-ux. but lately i tried to make some for solaris. the problem is that when i tried to execute it it gave me an error the "let: not found". why is that? how can i perform an arithmetic function in the solaris shell script? thanks :) (2 Replies)
Discussion started by: inquirer
2 Replies

10. UNIX for Dummies Questions & Answers

Unix + oracle doubt....involving shell script

....does the dbms_output.put_line work inside unix shell script? i mean this is to be inside the sqlplus connection as follows!! sqlplus -s $UP <<EOJ .. .. .. dbms_output.put_line ('Insertion procedure failed for UPC BC : ' || wk_key_value || ' Sqlcode: ' || SQLCODE || ' Error... (2 Replies)
Discussion started by: mexx_freedom
2 Replies

Featured Tech Videos