Visit Our UNIX and Linux User Community


Calling shell functions from another shell script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Calling shell functions from another shell script
# 1  
Old 04-04-2008
CPU & Memory Calling shell functions from another shell script

Hi,

I have a query ..
i have 2 scripts say 1.sh and 2.sh
1.sh contains many functions written using shell scripts.
2.sh is a script which needs to call the functions definded in 1.sh
function calls are with arguments.
Can some one tell me how to call the functions from 2.sh?

Thanks in advance.
JS
# 2  
Old 04-04-2008
CPU & Memory

I have done a bit more research.
I know this is not possible especially with arguments. but still there should be a way out ..

JS
# 3  
Old 04-04-2008
1.sh:
Code:
#!/bin/ksh
fun1() {
  typeset arg1="${1}"
  echo "in 1.sh::fun1 arg1->[${arg1}]"
}

2.sh:
Code:
#!/bin/ksh
echo "in 2.sh"
. 1.sh

fun1 "foo"

# 4  
Old 04-04-2008
SmilieThank you vgersh99 !!
# 5  
Old 04-04-2008
There is a better way of doing what you want to do using FPATH and/or autoload

For example, suppose you create the following directory within your home directory and put your function scripts in this directory. The filename should be the function name.

mkdir ~/.kshfunctions

In your .kshrc file, define the FPATH variable to point to that directory:

export FPATH=~/.kshfunctions

Functions will then be loaded on an as needed basis and results in faster script startup. To get a listing of which functions are actually currently loaded, just type 'functions' at the prompt. Use whence to find a function.

Code:
#!/usr/bin/ksh93
echo "in 2.sh"
fun1 "foo"

Code:
# fun1
function fun1
{
  print "In function fun1 arg1->[$1]"
}

Code:
$./2.sh
in 2.sh
In fun1 arg1->[foo]

# 6  
Old 04-05-2008
Quote:
Originally Posted by fpmurphy
There is a better way of doing what you want to do using FPATH and/or autoload

That is limited to the Korn shell and will not work in any other shell.
# 7  
Old 04-05-2008
Yes, I agree, it is limited to ksh93.

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

How to find C programming functions using shell script?

I want to find c function definition with pattern with shell script by checking condition for each line: data_type functionname(param_list){ .... } I knew cscope or ctag is usable for this task, but if there any ways to do without using them. I am thinking of checking line condition... (3 Replies)
Discussion started by: cmdcmd
3 Replies

2. Shell Programming and Scripting

Functions in a shell script

so i have a very big script that has the following format: functionA () { .... ... .... } Results=$(functionA) the code inside of functionA is very huge. so by the time the script gets to the "Results=" part, several seconds have already passed. the script is about 15MB in size.... (4 Replies)
Discussion started by: SkySmart
4 Replies

3. Shell Programming and Scripting

Is it possible make the shell read functions 1 by 1 and calling an other function?

Greetings, I m wondering if it's possible do do the following : I have a simple function called "FindMoveDelete" which does the following : FindMoveDelete() { find . -iname "$FILENAME*.ext" -exec mv {} "$PATH/$VAR" \; && find . -maxdepth 1 -type d -iname "$FILENAME*" -exec rm -rf {}... (6 Replies)
Discussion started by: Sekullos
6 Replies

4. Shell Programming and Scripting

calling 'n' number of shell scripts based on dependency in one shell script.

Hello gurus, I have three korn shell script 3.1, 3.2, 3.3. I would like to call three shell script in one shell script. i m looking for something like this call 3.1; If 3.1 = "complete" then call 3.2; if 3.2 = ''COMPlete" then call 3.3; else exit The... (1 Reply)
Discussion started by: shashi369
1 Replies

5. Shell Programming and Scripting

using library functions in shell script

hey guys, i made up a library file called common.lib so as to reuse the same code without typing it again. here is the code. its pretty basic . ## This is the second function compare() { file1 = $1 file2 = $2 cmp $file1 $file2 if then echo "comparison is possible"... (1 Reply)
Discussion started by: Irishboy24
1 Replies

6. Shell Programming and Scripting

Calling another shell script

Hi there, I have an script reading content of a file and runs whatever command is specified there, as follows #!/bin/bash # Supposed to read from a file that commands are listed to be run # when the server starts for initialization CMD_FILE=/myScripts/startup/task2do.txt if ; then ... (2 Replies)
Discussion started by: james gordon
2 Replies

7. Shell Programming and Scripting

Calling Functions of Other K Shell Program

Hi, I have a K shell a.ksh function abc { // Some logic } In b.ksh i have included the a.ksh ./a.ksh I want to call the abc function from this b.ksh script. Thanks Vijay (2 Replies)
Discussion started by: vijaykrc
2 Replies

8. Shell Programming and Scripting

Creating functions in shell script

hi friends, I am working with shell commands and all these works properly. Then i created a small function which includes these commands. Now the problem arises. When the commands are run by calling this fuction.it shows error. Why i am not able to run the unix command inside a function.... (1 Reply)
Discussion started by: gjithin
1 Replies

9. Shell Programming and Scripting

Shell script functions

Simple shell script : date test_fn() { echo "function within test shell script " } on the shell prompt I run > . test Then I invoke the function on the command line as below : test_fn() It echos the line function within test shell script and works as expected. ... (5 Replies)
Discussion started by: r_subrahmanian
5 Replies

10. Shell Programming and Scripting

Calling shell script ?

hi friends, i'm new to unix and straight away i had to start with the script files. I've a script file which gets called from a menu item on a GUI. This script file again calls .awk file, in performing some tasks , which also generates certain files. I modified the files to generate some... (1 Reply)
Discussion started by: Ravi_Kandula
1 Replies

Featured Tech Videos