Visit Our UNIX and Linux User Community


initialize a variable only once


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting initialize a variable only once
# 1  
Old 02-08-2012
initialize a variable only once

hi,

i have a script which needs to be run every 10 minutes.This is achieved using crontab utility,
it is checking Number of calls on a service... if number of calls are not increasing then it will stop the service else do nothing.

Now in the script, i fetch the current value in variable myval and then compare it with variable COUNT_DEPOSIT

Here is the code:-
Code:
COUNT_DEPOSIT=0
myval=$(ls -l service | grep 449 | awk -F"|" '{print $10}')

if [ "$myval" -gt "$COUNT_DEPOSIT" ]; then
     
      do nothing
   
else
     stop the service
fi
COUNT_DEPOSIT=$myval

At the end, i reinitialize the variable COUNT_DEPOSIT with the new value so that next time COUNT_DEPOSIT variable has a new value..
But problem is that COUNT_DEPOSIT is everytime initialize to value 0

I want to initialize the this variable only once and pick the new value each time.

Can anyone please help?

thanks in advance
# 2  
Old 02-08-2012
Write the variable (value) to a file, then read the file every time the script runs.
Code:
fname=/tmp/count.deposit
if [ ! -r $fname ]; then
  COUNT_DEPOSIT=0

else
  COUNT_DEPOSIT=$(< $fname )


# at the end of the script:
echo $COUNT_DEPOSIT > $fname


This has issues - at reboot of your app or the system, the file needs to be removed. Otherwise the code will "think" it has some previous value.
try that for a start
This User Gave Thanks to jim mcnamara For This Post:
# 3  
Old 02-08-2012
Bug thanks Jim it works...

it is working for me.

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Initialize Variable Using awk Expression

Hello All, What i am trying to do is read the input file delimited by pipe and do further logic like simulating the for loop but using awk not sure if this a right approach but as i was told doing "for i in `cat $file`" is an over kill so trying to replicate the same thing using awk script below.... (6 Replies)
Discussion started by: Ariean
6 Replies

2. Red Hat

Fedora Initialize disklabel

What is the point of Fedora Initialize disklabel and how does it work? How do I check what my current Fedora's disklabel is initialized to? (1 Reply)
Discussion started by: cokedude
1 Replies

3. SCO

How to initialize tape drive

Hi all Just connected a SCSI tape drive to our ScoUnix server running Unixware 7.0.1. The ID assigned to it is 3. When I open ArcServe it is saying that tape drive is not found and I cannot configure it. How can I make the tape drive accessible to the system? Thanks! (4 Replies)
Discussion started by: ramon82
4 Replies

4. Shell Programming and Scripting

Initialize a variable

Hi All, Please can you advise on how can I initialize a variable with a line. Suppose i want to initialize x with line redirects.www.virginatlantic.com.conf Best Regards, Shazin (1 Reply)
Discussion started by: Shazin
1 Replies

5. Shell Programming and Scripting

initialize file to zero

hi can anyone tell how to initialize a file to zero (3 Replies)
Discussion started by: Satyak
3 Replies

6. HP-UX

Can not initialize the floppy

Hello Everyone, Has anyboby ever come across the problem when fd refuses to get initialised. I try to use mediainit command, the fd is being accessed (the fd's LIT is green for some secs) but then I get the message - "Initialize media command failed - permission denied" I checked the diskette,... (1 Reply)
Discussion started by: Andrey Malishev
1 Replies

7. SCO

initialize lp job

I use SCO UNIX from 2 years I need a command or procedure to make all log files empty and restart all counters like lp job number :( :confused: :( (1 Reply)
Discussion started by: sharina
1 Replies

8. UNIX for Dummies Questions & Answers

nslookup *** Can't initialize resolver

Has anyone seen this message before? I have a DNS problem. Recently DNS has been moved to two new servers, which I can ping. I changed the /etc/resolv.conf to point to these boxes but now I get the *** Can't initialize resolver message. Any ideas? (2 Replies)
Discussion started by: korfnz
2 Replies

9. Shell Programming and Scripting

Variable Initialize

Hi, i m trying to loop a variable value, Basically i m reading variable value from an input file and using in rest of the program. Bu my problem is when i first time read value and assign to variable it works fine, but in second read it concatinate second value to first value with a LF. I want to... (2 Replies)
Discussion started by: coolbudy
2 Replies

10. Programming

variable initialize question

I have a question about C program for Unix: Do we have to intialize every variable before we use them in C? I thought we have to untill I found some programs are not intialize the variable before they were used. (2 Replies)
Discussion started by: whatisthis
2 Replies

Featured Tech Videos