Need to call a function with arguments


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Need to call a function with arguments
# 1  
Old 12-17-2013
Need to call a function with arguments

I need to call a function within a code with $database and $ service as the arguments How do I proceed ? and how would a function be defined and these two arguments would be used inside the function?

Code:
calc_pref_avail $database $service



Best regards,
Vishal
# 2  
Old 12-17-2013
Hello Vishal,

Could you please be more specific in your requirement and let us know the input and expected output for same please.


Thanks,
R. Singh
# 3  
Old 12-17-2013
Hi Ravinder,

Below is the code in which there is a function call calc_pref_avail at last:

Code:
for service in `$ORACLE_HOME/bin/srvctl status service -d $database | awk '{print $2}'`
do
c="/product/10"
case $ORACLE_HOME in
  */product/10*)
Instance_pref=`$ORACLE_HOME/bin/srvctl config service -s $service -d $database | sed 's/\(.*: \)\(.*\)\( AVAIL:.*\)/\2/1;1q'`
Instance_avail=`$ORACLE_HOME/bin/srvctl config service -s $service -d $database | sed 's/\(.*AVAIL: \)\(.*\)/\2/g;1q'`;;
*)
calc_pref_avail;;


I need to pass $database and $ service as an argument to this function and suppose below is the way I define my function

Code:
calc_pref_avail   $database $service
{

-- code --
return inst_pref;

}

Please help me how to pass an argument to function call and while defining function how to return value and get that variable in the code from where function is called


Best regards,
Vishal
# 4  
Old 12-17-2013
Not knowing what shell you use, this is an excerpt from man bash:
Quote:
Shell Function Definitions
A shell function is an object that is called like a simple command and executes a compound command with a new set of positional
parameters. Shell functions are declared as follows:

name () compound-command [redirection]
function name [()] compound-command [redirection]
This defines a function named name. The reserved word function is optional. If the function reserved word is supplied, the
parentheses are optional. The body of the function is the compound command. ...
So define it like
Code:
calc_pref_avail ()
{
-- code  using $1 and $2  --
return inst_pref;  
}

and use it like
Code:
calc_pref_avail   $database $service

This User Gave Thanks to RudiC For This Post:
# 5  
Old 12-17-2013
Hello,

Here is the example for a function which will be called by arguments.

Code:
check_file()
{
for y in $*
do
if [[ -f $y ]]
then
rm $y
fi
done
}
### calling function as follows with arguments
check_file ${FILE1} ${FILE2}



Hope this may help.



Thanks,
R. Singh
This User Gave Thanks to RavinderSingh13 For This Post:
# 6  
Old 12-17-2013
I need to get two values from this function as below:

Code:
    if [ "${line:0:21}" = 'Preferred instances: ' ]; then
      pref=($(echo "${line:21}"|sed 's/,/\n/g'));
    else
      avail=($(echo "${line:21}"|sed 's/,/\n/g'));
    fi


I need values of $pref and $avail from this function.Is there a way to combine these values and return as a 1 value since I understand that a function can return a single value .Thereafter after returning these values I can again get the 2 values in the code from where I called this function


Best regards,
Vishal
# 7  
Old 12-17-2013
echo the two values and assign to / read into caller's variables.
Code:
function A () { echo ABC CDE; }
A| { read C D; echo $D: $C; }
E=$(A)

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Call same function using 2 different arguments

I have a script that uses 2 arguments. I want to call the function part within this script using these same arguments. Below is what I came up with below script so far, any guidance would be helpful. Thank you! cat backup.sh #!/bin/bash function usage { echo "USAGE: $(basename $0)... (6 Replies)
Discussion started by: mbak
6 Replies

2. Shell Programming and Scripting

How to call Oracle function with multiple arguments from shell script?

Dear All, I want to know how can i call oracle function from shell script code . My oracle function have around 5 input parameters and one return value. for name in *.csv; do echo "connecting to DB and start processing '$name' file at " echo "csv file name=$x" sqlplus -s scoot/tiger <!... (2 Replies)
Discussion started by: Balraj
2 Replies

3. Shell Programming and Scripting

How to funnel stdout into call arguments?

This command successfully gives me the clearcase views I want in stdout, one line per view name. Each view name appears to have no spaces. cleartool lsview | grep -i `uname -n` | grep -v "ViewStorage\\|vgr_tools_sv" | cut -f 3 -d ' ' How can write a cygwin bash "for" loop that will iterate... (4 Replies)
Discussion started by: siegfried
4 Replies

4. Shell Programming and Scripting

After exit from function it should not call other function

Below is my script that is function properly per my conditions but I am facing one problem here that is when one function fails then Iy should not check other functions but it calls the other function too So anyone can help me how could i achieve this? iNOUT i AM GIVING TO THE... (1 Reply)
Discussion started by: rohit22hamirpur
1 Replies

5. Shell Programming and Scripting

bash read within function with arguments

I have trouble getting this logic to work #!/bin/bash function assign_var(){ while do read -p "$2 :" $3 done } assign_var '$IPADDRESS' ipaddress IPADDRESS Basicly, i want to make sure that entry is made (i can add more sophisticated checks later), but the idea is to recycle... (11 Replies)
Discussion started by: serverchief
11 Replies

6. UNIX for Dummies Questions & Answers

write() system call arguments

Hi, I'm trying to understand the arguments from this system call, can someone help me figure it out? write(1, "/home/nick/11sp/fred\n", 27/home/nick/11sp/fred) = 27 for argument 1, i know it is a file descriptor which specifies standard output. Argument 2, i believe is "what is to be... (4 Replies)
Discussion started by: l flipboi l
4 Replies

7. Shell Programming and Scripting

cat arguments to a function

Hi, I've a logging function in bourne shell, flog() which logs the first argument passed to it. How can I pass arguments to this function from a file, like cat filename | sed '...filtering...' | flog or cat filename | sed '...filtering...' | xargs flog Which did not work, after which... (3 Replies)
Discussion started by: Random_Net
3 Replies

8. Shell Programming and Scripting

How to call arguments with variable in a script??

Hello, I was wondering if it were possible to call arguments passed to a script using a variable. For example: sh script.sh yes no good bad x=$# while do echo (last argument, then second last etc until first argument) let x=($x-1) done should print out bad good no (4 Replies)
Discussion started by: VanK
4 Replies

9. Infrastructure Monitoring

diffrence between method call and function call in perl

Hello, I have a problem with package and name space. require "/Mehran/DSGateEngineLib/general.pl"; use strict; sub System_Status_Main_Service_Status_Intrusion_Prevention { my %idpstatus; my @result; &General_ReadHash("/var/dsg/idp/settings",\%idpstatus); #print... (4 Replies)
Discussion started by: Zaxon
4 Replies

10. Programming

can we send arguments to system() call

Hi friends my C code is int main() { system("cp <source> <destination>"); } my question is how to set variables for <source> and <destination> how can we pass it to system() call. can you suggest me thankyou kingskar (6 Replies)
Discussion started by: kingskar
6 Replies
Login or Register to Ask a Question