Sponsored Content
Operating Systems Linux Red Hat Unable to capture value from function Post 303002587 by pradeep84in on Monday 28th of August 2017 09:27:06 AM
Old 08-28-2017
Hello Experts,

Problem is fixed and now it's working, am posting the new code.

Code:
#!/bin/bash

set -x

YESTERDAY_DATE()
{
        date '+%d %m %Y' |
        {
                read DAY MONTH YEAR
                DAY=`expr "$DAY" - 1 + 100 | cut -c2-3`
                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

                vardt=$?
                if [ $vardt -ne 0 ];then
                        echo "ERROR DURING SPOOLING PREVIOUS DAY DATE."
                        exit 1
                fi

                YDATE=${MONTH}${DAY}${YEAR}
                echo ${YDATE}
        }
}

Y_DT=`YESTERDAY_DATE`

setted the echo which is passing the value of the variable to outside and calling the function and capturing the value of the same in the new variable.
 

10 More Discussions You Might Find Interesting

1. 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

2. UNIX for Advanced & Expert Users

Unable to execute a function using trap

I have a script A which calls script B. I wrote a function in script A to be executed when Kill command is issued for script A and I invoke that function using the trap command.The function identifies all child process running under script A (in this case script B) and kills the child process and... (3 Replies)
Discussion started by: smohandass
3 Replies

3. Shell Programming and Scripting

unable to return a decimal value from a function

Hi Guys, I am unable to return a decimal value from a function to the main script. I am getting the correct value in the function but when it is returning to the main script using "return" it is coming as 0. Below is my code. read VALUE_V fun_FATHERID fun_SONID fun_TOPID fun_RTYPE <... (2 Replies)
Discussion started by: mac4rfree
2 Replies

4. Shell Programming and Scripting

how to capture oracle function returning 2 values in unix

i have an oracle function which returns two values, one is the error message if the function encounters anything and another one which returns a number i need to capture both and pass it on to unix shell script how to do it (2 Replies)
Discussion started by: trichyselva
2 Replies

5. Shell Programming and Scripting

unix capture oracle function error

Hi, I want to execute an oracle function from unix script so for that I created a sample oracle function as below: create or replace function test_fn(test_date out varchar2) RETURN varchar2 IS BEGIN select to_char(sysdate,'DD-MON-YY') into test_date from dual; return test_date;... (5 Replies)
Discussion started by: dips_ag
5 Replies

6. Programming

unable to use a function to crate a joinable thread

In my program, threads may be created when some events trigger. So I can't create threads on initialization. Theremore,I write a createThread() function to create thread. However, it is blocking at first call and don't run anymore? why? #include <pthread.h> #include <stdio.h> #include... (4 Replies)
Discussion started by: sehang
4 Replies

7. Programming

unable to send a char parameter from main to a function

why does this not work? #include <stdio.h> #include <stdlib.h> char getFileMode(char charChanger) { char filetype; /*var to hold the value to be returned*/ filetype = charSetter; /*set filetype to "l" if it is a symlink*/ return filetype; } int main(void){ char... (8 Replies)
Discussion started by: bluetxxth
8 Replies

8. Shell Programming and Scripting

Unable to run function

Hi, I have a separate file with a ksh function in it. When I try to run it, I get an error about permissions: user@~/scripts/functions$ ksh f_fill_testfunc ksh: f_fill_testfunc: cannot open user@~/scripts/functions$ ls -l batch_functions/f_fill_testfunc -rwxr-xr-x 1 user user 1105 Aug... (18 Replies)
Discussion started by: Subbeh
18 Replies

9. Shell Programming and Scripting

How to capture system() function output in variable

How to capture system() function output in awk variable and the print that awk variable..... (8 Replies)
Discussion started by: bharat1211
8 Replies

10. Homework & Coursework Questions

How to Dynamically Pass Parameter to plsql Function & Capture its Output Value in a Shell Variable?

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: 2. Relevant commands, code, scripts, algorithms: #! /bin/ksh v="ORG_ID" ... (2 Replies)
Discussion started by: sujitdas2104
2 Replies
STRFTIME(3)						   BSD Library Functions Manual 					       STRFTIME(3)

NAME
strftime, strftime_z -- format date and time LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <time.h> size_t strftime(char * restrict buf, size_t maxsize, const char * restrict format, const struct tm * restrict timeptr); size_t strftime_z(const timezone_t tz, char * restrict buf, size_t maxsize, const char * restrict format, const struct tm * restrict timeptr); DESCRIPTION
The strftime() function formats the information from timeptr into the buffer buf according to the string pointed to by format. The format string consists of zero or more conversion specifications and ordinary characters. All ordinary characters are copied directly into the buffer. A conversion specification consists of a percent sign '%' and one other character. No more than maxsize characters will be placed into the array. If the total number of resulting characters, including the terminating null character, is not more than maxsize, strftime() returns the number of characters in the array, not counting the terminating null. Otherwise, zero is returned and the contents of the array are undefined. Each conversion specification is replaced by the characters as follows which are then copied into the buffer. %A is replaced by the locale's full weekday name. %a is replaced by the locale's abbreviated weekday name. %B is replaced by the locale's full month name. %b or %h is replaced by the locale's abbreviated month name. %C is replaced by the century (a year divided by 100 and truncated to an integer) as a decimal number [00,99]. %c is replaced by the locale's appropriate date and time representation. %D is replaced by the date in the format ``%m/%d/%y''. %d is replaced by the day of the month as a decimal number [01,31]. %e is replaced by the day of month as a decimal number [1,31]; single digits are preceded by a blank. %F is replaced by the date in the format ``%Y-%m-%d'' (the ISO 8601 date format). %G is replaced by the ISO 8601 year with century as a decimal number. %g is replaced by the ISO 8601 year without century as a decimal number (00-99). This is the year that includes the greater part of the week. (Monday as the first day of a week). See also the '%V' conversion specification. %H is replaced by the hour (24-hour clock) as a decimal number [00,23]. %I is replaced by the hour (12-hour clock) as a decimal number [01,12]. %j is replaced by the day of the year as a decimal number [001,366]. %k is replaced by the hour (24-hour clock) as a decimal number [0,23]; single digits are preceded by a blank. %l is replaced by the hour (12-hour clock) as a decimal number [1,12]; single digits are preceded by a blank. %M is replaced by the minute as a decimal number [00,59]. %m is replaced by the month as a decimal number [01,12]. %n is replaced by a newline. %p is replaced by the locale's equivalent of either ``AM'' or ``PM''. %R is replaced by the time in the format ``%H:%M''. %r is replaced by the locale's representation of 12-hour clock time using AM/PM notation. %S is replaced by the second as a decimal number [00,61]. The range of seconds is (00-61) instead of (00-59) to allow for the periodic occurrence of leap seconds and double leap seconds. %s is replaced by the number of seconds since the Epoch, UTC (see mktime(3)). %T is replaced by the time in the format ``%H:%M:%S''. %t is replaced by a tab. %U is replaced by the week number of the year (Sunday as the first day of the week) as a decimal number [00,53]. %u is replaced by the weekday (Monday as the first day of the week) as a decimal number [1,7]. %V is replaced by the week number of the year (Monday as the first day of the week) as a decimal number [01,53]. According to ISO 8601 the week containing January 1 is week 1 if it has four or more days in the new year, otherwise it is week 53 of the previous year, and the next week is week 1. The year is given by the '%G' conversion specification. %v is replaced by the date in the format ``%e-%b-%Y''. %W is replaced by the week number of the year (Monday as the first day of the week) as a decimal number [00,53]. %w is replaced by the weekday (Sunday as the first day of the week) as a decimal number [0,6]. %X is replaced by the locale's appropriate time representation. %x is replaced by the locale's appropriate date representation. %Y is replaced by the year with century as a decimal number. %y is replaced by the year without century as a decimal number [00,99]. %Z is replaced by the time zone name. %z is replaced by the offset from ITC in the ISO 8601 format ``[-]hhmm''. %% is replaced by '%'. The strftime_z() function is similar to strftime(), but it also takes a const timezone_t tz argument. SEE ALSO
date(1), printf(1), ctime(3), printf(3), strptime(3), tm(3) STANDARDS
The strftime() function conforms to ISO/IEC 9899:1999 (``ISO C99''). The '%C', '%D', '%e', '%g', '%G', '%h', '%k', '%l', '%n', '%r', '%R', '%s', '%t', '%T', '%u', '%V', and '%v' conversion specifications are extensions. Use of the ISO 8601 conversions may produce non-intuitive results. Week 01 of a year is per definition the first week which has the Thursday in this year, which is equivalent to the week which contains the fourth day of January. In other words, the first week of a new year is the week which has the majority of its days in the new year. Week 01 might also contain days from the previous year and the week before week 01 of a year is the last week (52 or 53) of the previous year even if it contains days from the new year. A week starts with Monday (day 1) and ends with Sunday (day 7). For example, the first week of the year 1997 lasts from 1996-12-30 to 1997-01-05. BUGS
There is no conversion specification for the phase of the moon. A return value of zero does not necessarily indicate an error. If the resulting string is an empty string, the result value is zero and it is not possible to distinguish between success and error. For example, in many locales %p yields an empty string. This problem can be avoided by inserting an extra space at the beginning of the format string and then skipping over it or removing it from the result. BSD
April 14, 2011 BSD
All times are GMT -4. The time now is 11:49 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy