How to Call a Function with in two files


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to Call a Function with in two files
# 1  
Old 02-20-2007
How to Call a Function with in two files

Hi all,

I am having a problem with my code

I am having a file from which i am calling a function, which is present in another file, for this i am using . <file name> followed by the function name, when i am doing like this, second file completely it is executing...

example

File1 Code:

. file2.ksh
tmp=1
fn_test $tmp

File2 Code:

fn_test()
{
echo $tmp
}
echo test

here the output will be

1
test

where i want only the value present in that function, i don;t want the code present outside of that function to execute

how to call only the particular function present in the file 2

thanks in advance
# 2  
Old 02-20-2007
afaik, when using ksh, you may not call only a function which is present in another file. you may execute another file (execute it completely)

use Perl, Python, TCL to do what you are trying
# 3  
Old 02-20-2007
Code:
. file2.ksh > /dev/null
tmp=1
fn_test $tmp

# 4  
Old 02-20-2007
Quote:
Originally Posted by anbu23
Code:
. file2.ksh > /dev/null
tmp=1
fn_test $tmp

Doesn't suppress execution of commands outside function definitions, this can be very dangerous.


Jean-Pierre.
# 5  
Old 02-20-2007
Quote:
Originally Posted by hsekol
example

File1 Code:

. file2.ksh
tmp=1
fn_test $tmp

File2 Code:

fn_test()
{
echo $tmp
}
echo test

here the output will be

1
test

where i want only the value present in that function, i don;t want the code present outside of that function to execute
If you can make File2 to contain functions and only functions, then the code in File1 would be fine.
Something like
Code:
    fn_test()
    {
          echo $tmp
    }
    fn_echo ()
    {
          echo test
    }

# 6  
Old 02-20-2007
Vino has it. Create an "include" file. Source the file which has just functions.
So if you have 3 files: file1.sh file2.sh and myfunctions.sh:
The first executable line in file1.sh is:
Code:
. /path/to/myfunctions.sh

The first executable line in file2.sh is:
Code:
. /path/to/myfunctions.sh

Note the leading dot followed by a space.
# 7  
Old 02-21-2007
hsekol

Hi all,

Thanks for your reply,

I tried the following code and it is working for me

. file2.ksh > /dev/null

but aigles has posted that "Doesn't suppress execution of commands outside function definitions, this can be very dangerous." can any body explain in what way it is dangerous for me to use this method

Actually my requirement is i have a file, which i need to run the both from command line and also from any file, for which i have created one main script and i have written some code outside of the function and calling the main function to execute from command line

can i proceed using the above code are is there any approach or procees to acheive it, if so please reply me

Thanks in advance
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to Call a Function

Hi I have created a function in a Shell Script test.sh function fnTest() { echo "My first Method } I have called this function in my test.sh cat abc.txt | grep "test" echo " test" fnTest But while running the shell script i got the following error: ... (2 Replies)
Discussion started by: nanthagopal
2 Replies

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

3. Shell Programming and Scripting

Function call

Hi foiks i am unable to find what is wrong in my code mu functionality is to exit from shell when i give 99 but it is not calling function ext Could you please correct me. read option if ; then ext else echo "out" fi function ext { echo "tested 99 and exit... (12 Replies)
Discussion started by: kojo
12 Replies

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

5. Shell Programming and Scripting

Function Call

Hi, I have a string corresponding to a function. How I can call that function without if statement? Thanks in advance. (4 Replies)
Discussion started by: Zaxon
4 Replies

6. Shell Programming and Scripting

Function Call

How we can start a process if doesn't exists before? (1 Reply)
Discussion started by: Zaxon
1 Replies

7. Shell Programming and Scripting

help on function call

hello, when i call function inside awk traitement it doesn't work, i don't have error execution but i don't get result and if i call the function outside awk traitement it work well.. there's something special in awk call function?? here is the example : awk -F "," '{ {first=$1; sec=$2;... (3 Replies)
Discussion started by: kamel.seg
3 Replies

8. Shell Programming and Scripting

function call

hi, can any one help me to correct this function call. awk -F "," '{ {first=$1; sec=$2; tro=$3;quat=$4 } if (tro == "") { $3 = search "$file2" "$first" "$file3" {print $1","$2","$3","$4} } else {print $1","$2","$3 $4}}' $file1 > $file search () { (2 Replies)
Discussion started by: kamel.seg
2 Replies

9. Programming

Help with a function call

Hi, Can anyone help me figure out the problem I'm having with a function call? I have a header file, which sets an enum: typedef enum {INFO, WARNING, FATAL} Levels; int log_event (Levels, char *fmt, ...); ..then the function is called this way: log_event(INFO, "Message text"); ... (6 Replies)
Discussion started by: Stevhp
6 Replies

10. Shell Programming and Scripting

function call

can I call a function in bash script just as in C++ while do function() done function() thanks, Steffen (3 Replies)
Discussion started by: forever_49ers
3 Replies
Login or Register to Ask a Question