Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Variable gets auto updated after function execution Post 303036735 by harishshankar on Wednesday 10th of July 2019 02:56:51 AM
Old 07-10-2019
Variable gets auto updated after function execution

Hi Team

In the below code, irrespective of the if statement that gets executed, retcd is being assigned a standard value(1) instead of changing as per code. Could you please help to see where is it going wrong.

Code:
rval=0
CONF_FILE=/apps/wmroot/scripts/props/UMPath.properties
NOHUP="nohup"
getProperty()
{
        prop_key=$1
        prop_file=$2
        prop_value=`cat ${prop_file} | grep ${prop_key} | cut -d'=' -f2`

}
#get properties
getProperty "value.UMPath" ${CONF_FILE}
UMPath=${prop_value}
echo "$UMPath"
# Clear any currently running tail commands which will cause the loop below to fail
ps -ef|grep -v grep|grep tail|grep $UMPath|grep nirvana.log > /dev/null
if (( $? == 0 )); then
   echo -e "\nClearing the following tail commands:"
   ps -ef|grep -v grep|grep tail|grep $UMPath|grep nirvana.log
   ps -ef|grep -v grep|grep tail|grep $UMPath|grep nirvana.log|awk '{print $2}' | xargs kill -9
fi
#Finding the nserver.pid to see if UM is up

SERVER_PID=$UMPath/bin/nserver.pid

echo "Check if UM Server is running or not"

 if [ -f $SERVER_PID ] ; then
       echo "UM Server is running.."
exit $rval
 else
        echo "UM Server is down, starting it up"
        su - wmroot -c "${NOHUP} "$UMPath/bin/nserver" &"
 fi
# Watch the log file for the initialization string
getline()
{
echo -e "\nNow watching nirvana log for the Started Nirvana Realm string\c"
tail -f $UMPath/data/nirvana.log | while read line
do
    echo ${line} | egrep "Realm Server Startup sequence completed" > /dev/null 2>&1
  if (( $? == 0 )); then
     echo -e "\nFound: ${line}\n"
echo "UM is now up and running"
retcd=0
return $retcd;
exit $retcd
  fi
 echo ${line} | egrep "Server shutdown" > /dev/null 2>&1
  if (( $? == 0 )); then
     echo -e "\nFound: ${line}\n"
echo "UM failed to start. Please check"
retcd=1
return $retcd;
exit $retcd
  fi
done
}
getline
if [ "$retcd" = 0 ]
then
echo "server is now up"
else
echo "Server has been shutdown due to an error, please check"
fi
exit $rval

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

passing a variable inside a variable to a function

I would like to know how to pass a variable inside a variable to a function. sample code below -------------- for x in 1 9 do check_null $C$x ##call function to check if the value is null if then echo "line number:$var_cnt,... (2 Replies)
Discussion started by: KingVikram
2 Replies

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

3. Shell Programming and Scripting

How to pass a function with a variable parameter into another variable?

Hello again :) Am currently trying to write a function which will delete a record from a file. The code currently looks as such: function deleteRecord() { clear read -p "Please enter the ID of the record you wish to remove: " strID ... (2 Replies)
Discussion started by: U_C_Dispatj
2 Replies

4. Programming

pthread question : global variable not updated

Hi, I wrote the following program to understand mutexes. If I run the program , number of threads is shown as zero, even after creating one thread. When running with gdb, it works fine. The function process is used to update global variable (used to keep track of threads). It looks like the... (2 Replies)
Discussion started by: sanjayc
2 Replies

5. UNIX for Dummies Questions & Answers

Auto Complete variable names in KSH

Hi, I use KSH a lot. I wanted to know if I can auto-complete a Variable name in the environment. I know this is possible in tcsh. I use the vi mode to edit commands on command prompt. Any help would be much appreciated. Thanks..!! (4 Replies)
Discussion started by: grep_me
4 Replies

6. Shell Programming and Scripting

Function command execution from root

I have a function hello, that is echoing i have put that function in .bash1 file then recalling the function with same user but with su command but it is not working. username -> test function -> below function save in .bash1 function hello() { echo "Hello, $1!" } export -f hello I... (2 Replies)
Discussion started by: learnbash
2 Replies

7. Shell Programming and Scripting

Sequential Function Execution

I am having two different function in my script. When control is at first function I do not want to execute another function. How I can do that? Help is highly appreiated as I am not sure How I can do it in Unix? Thanks, Vikram. (2 Replies)
Discussion started by: VSom007
2 Replies

8. Shell Programming and Scripting

Passing variable value in a function to be used by another function

Hello All, I would like to ask help from you on how to pass variable value from a function that has been called inside the function. I have created below and put the variables in " ". Is there another way I can do this? Thank you in advance. readtasklist() { while read -r mod ver... (1 Reply)
Discussion started by: aderamos12
1 Replies

9. Shell Programming and Scripting

How to pass variable from one function to another function?

updateEnvironmentField() { linewithoutquotes=`echo $LINE | tr -d '"'` b() } I want to pass variable named $linewithoutquotes to another method called b(), which is called from updateEnvironmentField() method. How to do the above requirement with shell script (1 Reply)
Discussion started by: pottic
1 Replies

10. Shell Programming and Scripting

[bash] why my variable is not updated?

Does anyone know why the below script is not working? Why is not the variable tot_files updated? location=$1 cd "$location" tot_files=0 ( echo "" # recursively gets the total number of files tot_files=$(for t in files ; do echo `find . -type ${t:0:1} | wc -l` $t | cut -f1... (12 Replies)
Discussion started by: soichiro
12 Replies
Padre::Autosave(3pm)					User Contributed Perl Documentation				      Padre::Autosave(3pm)

NAME
Padre::Autosave - auto-save and recovery mechanism for Padre SYNOPSIS
my $autosave = Padre:Autosave->new( db => 'path/to/database' ); $autosave->save_file( $path, $type, $data, $timestamp ) = @_; DESCRIPTION
The longer auto-save plan The following is just a plan that is currently shelved as some people on the Padre development list think this is not necessary and one should use a real version control for this anyway. So I leave it here for now, for future exploration. I'd like to provide auto-save with some history and recovery service. While I am writing this for Padre I'll make the code separate so others can use it. An SQLite database will be used for this but theoretically any database could be used. Event plain file system. Basically this will provide a versioned file system with metadata and automatic cleanup. Besides the content of the file we need to save some meta data: path to the file will be the unique identifier timestamp type of save (initial, auto-save, user initiated save, external) When opening a file for the first time it is saved in the database.(initial) Every N seconds files that are not currently in "saved" situation are auto-saved in the database making sure that they are only saved if they differ from the previous state. (auto-save) Evey time a file is saved it is also saved to the database. (user initiated save) Before reloading a file we auto-save it. (auto-save) Every time we notice that a file was changed on the disk if the user decides to overwrite it we also save the (external) changed file. Before auto-saving a file we make sure it has not changed since the last auto-save. In order to make sure the database does not get too big we setup a cleaning mechanism that is executed once in a while. There might be several options but for now: 1) Every entry older than N days will be deleted. Based on the database we'll be able to provide the user recovery in case of crash or accidental overwrite. When opening padre we should check if there are files in the database that the last save was not a user initiated save and offer recovery. When opening a file we should also check how is it related to the last save in the database. For buffers that were never saved and so have no file names we should have some internal identifier in Padre and use that for the auto-save till the first user initiated save. The same mechanism will be really useful when we start providing remote editing. Then a file is identified by its URI ( ftp://machine/path/to/file or scp://machine/path/to/file ) my @types = qw(initial, autosave, usersave, external); sub save_data { my ($path, $timestamp, $type, $data) = @_; } perl v5.14.2 2012-06-27 Padre::Autosave(3pm)
All times are GMT -4. The time now is 08:31 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy