Calling function from another bash script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Calling function from another bash script
# 1  
Old 04-04-2012
Calling function from another bash script

I would like to call functions from another bash script. How can I do it?
Code:
 Some code More code

# 2  
Old 04-04-2012
Try "sourcing" the file :
Code:
. /path/to/file_containing_functions

dot - execute commands in the current environment
# 3  
Old 04-04-2012
A simple example:

Code:
$ cat Add.fn
Add ()
{
    echo $(($1 + $2))
}
$
$ cat test.sh
#! /bin/bash
. ./Add.fn

Add 2 3
$
$ ./test.sh
5
$

# 4  
Old 04-04-2012
I would also like to call some variables in the file but which are outside the function. Is that possible. For example, having some settings.

Code:
$ cat Add.fn
tst="Hello"
Add ()
{
    echo $(($1 + $2))
}
$
$ cat test.sh
#! /bin/bash
. ./Add.fn

echo "$tst"
Add 2 3
$
$ ./test.sh
5
$

# 5  
Old 04-04-2012
That works too, just try it..
# 6  
Old 04-04-2012
Works. I would need to get the path to the bash scripts directory though.

I put my scripts in the location
Code:
/home/tcdata/tatsh/trunk/hstmy/bin/bash

Then go to my test directory and do things as shown
Code:
cd /home/tcdata/tatsh/branches/test
/home/tcdata/tatsh/trunk/hstmy/bin/bash/tsimplex.bash        # run script

Need to get the path of the bash files. In tsimplex.bash I need to capture the string path in the calling sequence of tsimplex.bash.
Code:
/home/tcdata/tatsh/trunk/hstmy/bin/bash

What is the way to achieve this?
# 7  
Old 04-04-2012
dirname $0 will get you the parent directory of the current script.

EDIT: or, more exactly, it will strip the trailing element from whatever the script was called as - /tmp/x.sh with return '/tmp', ./x.sh will return '.'.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Calling Oracle function from script

Hi I need to call a function in database and update the return value of that function with a value in csv file. test.csv 1,2,3,,5,,,8,9,10 1,2,3,4,5,,,8,9,10 1,2,3,,,,,8,9,10In the above file I want to replace column 2 with a value extracted from database like (select student_id from... (3 Replies)
Discussion started by: kev94
3 Replies

2. Shell Programming and Scripting

Bash not calling function after completing

In the below bash the function execute is started with the while true at the end of the script. Currently, this works and processing does begin. The function panel in bold does not get called after execute completes, therefore the user does not get the menu selection and the files just loop... (3 Replies)
Discussion started by: cmccabe
3 Replies

3. Shell Programming and Scripting

SHELL SCRIPT Function Calling Another Function Please Help...

This is my function which is creating three variables based on counter & writing these variable to database by calling another function writeRecord but only one record is getting wrote in DB.... Please advise ASAP...:confused: function InsertFtg { FTGSTR="" echo "Saurabh is GREAT $#" let... (2 Replies)
Discussion started by: omkar.sonawane
2 Replies

4. Shell Programming and Scripting

c function calling from a pearl script

Hi, Is it possible to call a c function defined in a .c file from a pearl script? How is this possible? Thannks in advance, JS (2 Replies)
Discussion started by: jisha
2 Replies

5. Shell Programming and Scripting

Calling a C-function froma shell script

Hi, I have searched the forum for the query, But i didnt find an exact answer. I have a script(1.sh) and a c program(sample.c) sample.c contains many function definitions.( run(), find(), add() etc). I want to call functions in sample.c from 1.sh and use the return value in 1.sh... (3 Replies)
Discussion started by: jisha
3 Replies

6. UNIX for Dummies Questions & Answers

calling one function from another shell script

i have a function defined in one ksh (ksh 1) i want to use that function in another ksh (ksh 2) i am using . $<directoryname>/<ksh name> i am calling the function defined in ksh 1 in ksh 2 i want the returnstatus from the above operation but it is not executing the function what i... (1 Reply)
Discussion started by: trichyselva
1 Replies

7. Shell Programming and Scripting

Help needed in function calling in a script

:confused:Hi , I have a script as shown below: rpttxt() { name="$*" awk '/'"${name}"'/ {print $2 $3"=" $4}' file.txt } xx = rpttxt "COL_HEAD_1" awk 'BEGIN {printf("%36s \n ","'"$xx"'")}' rpttxt() is a function..I want to store the final result of this function in... (3 Replies)
Discussion started by: jisha
3 Replies

8. Shell Programming and Scripting

urgent calling function from a script

Hi, Can we define a function say func1 in a script 1.sh and call this function from another script say 2.sh by passing an argument :confused: (2 Replies)
Discussion started by: jisha
2 Replies

9. Shell Programming and Scripting

$0 scope in function and calling script

Hi folks, I'm just running through an oreilly korn shell book but have witnessed an output difference on my own unix machine and the output provided in the book. Can anyone help? create a script called ascript as follows: function afunc { print in function $0: $1 $2 var1="in... (16 Replies)
Discussion started by: beckett
16 Replies

10. Programming

calling c++ function from script

hi, I just started to work on unix, I was wondering if it is possible to call a c++ function from a script. now, i don't mean starting a program, i mean dynamicaly calling a funtion (like working with a dll) thanks (3 Replies)
Discussion started by: Lebamb
3 Replies
Login or Register to Ask a Question