How to store value from a function and use it?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to store value from a function and use it?
# 1  
Old 06-27-2012
How to store value from a function and use it?

There is one function to calculate previous day value and then touch one file with that date.The problem is i am getting the previous day value but not able to store it in other variable and use it.
Code:
PREVIOUS_DATE_FUNCTION()
{

date '+%m %d %Y' | 
{ 
read MONTH DAY YEAR
DAY=`expr "$DAY" - 1` 
case "$DAY" in 
        0) 
           MONTH=`expr "$MONTH" - 1` 
                case "$MONTH" in 
                        0) 
                           MONTH=12 
                           YEAR=`expr "$YEAR" - 1` 
                        ;; 
                esac 
        DAY=`cal $MONTH $YEAR | grep . | fmt -1 | tail -1` 
esac 
    PREVIOUS_TEMP_DATE=$YEAR-$MONTH-$DAY
    echo "$PREVIOUS_TEMP_DATE"
}
}


PREVIOUSDATE="`(PREVIOUS_DATE_FUNCTION)`"
   tempfile=CANCEL_FILE_$PREVIOUSDATE

Output i am getting is tempfile=CANCEL_FILE_


Moderator's Comments:
Mod Comment Please view this code tag video for how to use code tags when posting code and data.
# 2  
Old 06-27-2012
And what does echo $PREVIOUSDATE give you?
# 3  
Old 06-27-2012
+ PREVIOUSDATE=2012-06-26
+ echo 2012-06-26
2012-06-26
# 4  
Old 06-27-2012
Do you have access to a database? You could get the date from there and put it into a shell variable. Example using Oracle:
Code:
$ cat x
#!/usr/bin/ksh

eval $(print "select 'YESTERDAY='||to_char(sysdate-1, 'YYYY-MM-DD') as YESTERDAY from dual;" | sqlplus -s / | grep YESTERDAY=)

print "yesterday: $YESTERDAY"

$ x
yesterday: 2012-06-26
$

# 5  
Old 06-27-2012
no please tell me how to save the value in variable and use it, Thanks..!!
# 6  
Old 06-27-2012
See if this works for your shell and system, whatever it is (you never told us):
Code:
$ PREVIOUSDATE=`TZ=XYZ+24 date '+%Y-%m-%d'`
$ echo $PREVIOUSDATE
2012-06-26
$

# 7  
Old 06-27-2012
But when i am using this
Code:
PREVIOUSDATE="`(PREVIOUS_DATE_FUNCTION)`"    tempfile=CANCEL_FILE_$PREVIOUSDATE

I am not getting the output correct...i am only getting
Code:
tempfile=CANCEL_FILE_

but i want
Code:
tempfile=CANCEL_FILE_2012-06-26


Last edited by Franklin52; 06-28-2012 at 04:39 AM.. Reason: fixed code tags
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Function - Make your function return an exit status

Hi All, Good Day, seeking for your assistance on how to not perform my 2nd, 3rd,4th etc.. function if my 1st function is in else condition. #Body function1() { if then echo "exist" else echo "not exist" } #if not exist in function1 my all other function will not proceed.... (4 Replies)
Discussion started by: meister29
4 Replies

2. UNIX for Beginners Questions & Answers

Alsactl store function

Recently, I replaced a codec and amplifier on an older embedded system. It required minor changes to the machine startup code, a new timing crystal and minor alterations to the machine driver. The old amp had a MODE pin which was being used as a mute function and the new amp has a dedicated SHDN... (0 Replies)
Discussion started by: Circuits
0 Replies

3. Shell Programming and Scripting

Need help on awk for printing the function name inside each function

Hi, I am having script which contains many functions. Need to print each function name at the starting of the function. Like below, functionname() { echo "functionname" commands.... } I've tried like below, func=`grep "()" scriptname | cut -d "(" -f1` for i in $func do nawk -v... (4 Replies)
Discussion started by: Sumanthsv
4 Replies

4. Shell Programming and Scripting

Will files, creaetd in one function of the same script will be recognized in another function?

Dear All. I have a script, which process files one by one. In the script I have two functions. one sftp files to different server the other from existing file create file with different name. My question is: Will sftp function recognize files names , which are created in another... (1 Reply)
Discussion started by: digioleg54
1 Replies

5. Shell Programming and Scripting

Help to Modify File Name in each function before calling another function.

I have a script which does gunzip, zip and untar. Input to the script is file name and file directory (where file is located) I am reading the input parameters as follows: FILENAME=$1 FILEDIR=$2 I have created 3 functions that are as follows: 1) gunzip file 2) unzip file... (2 Replies)
Discussion started by: pinnacle
2 Replies

6. Programming

How to step in one function after the function be executed in gdb?

In gdb, I can call one function with command "call", but how can I step in the function? I don't want to restart the program, but the function had been executed, gdb will execute next statement, and I don't know how to recall the function. (4 Replies)
Discussion started by: 915086731
4 Replies

7. Shell Programming and Scripting

Not able to store the results of perl recursive function when applied under for loop

Hi Perl Gurus , need URGENT HELP PLEASE !!!!! I have one recursive Perl function which takes path of any directory as argument and returns array containing all the sub folders inside it recursively. Now the problem is that it works well if i use it with one time but the problem is that when... (0 Replies)
Discussion started by: anthriksh2000
0 Replies

8. Shell Programming and Scripting

Return a value from called function to the calling function

I have two scripts. script1.sh looks -------------------------------- #!/bin/bash display() { echo "Welcome to Unix" } display ----------------------------- Script2.sh #!/bin/bash sh script1.sh //simply calling script1.sh ------------------------------ (1 Reply)
Discussion started by: mvictorvijayan
1 Replies

9. Shell Programming and Scripting

Passing global variable to a function which is called by another function

Hi , I have three funcions f1, f2 and f3 . f1 calls f2 and f2 calls f3 . I have a global variable "period" which i want to pass to f3 . Can i pass the variable directly in the definition of f3 ? Pls help . sars (4 Replies)
Discussion started by: sars
4 Replies
Login or Register to Ask a Question