12-09-2005
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.
Question (1) how do I find out what are all the shell functions known to the current shell ? I tried set but that does not show my function . I tried which test_fn but that too says it does not know about test_fn
(2) how to I make the current shell get rid of the function. I tried unset test_fn - but that does not do it and returns an exit status of 1.
Thank you
Ram
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
i've been told that c shell does not support functions/subroutines is that true?
if not can somebody give me the basic syntax for creating a function. it would very much appreciated!
thanks in advance (1 Reply)
Discussion started by: ballazrus
1 Replies
2. Shell Programming and Scripting
Hi All,
I have a very long code called myfunction -> "if ..... else if .... else if ..end if "
And i have several other codes which need to call the "myfunction" code.
How can C-shell call a function "B]myfunction" ? Can any body give me an example ?? (1 Reply)
Discussion started by: Raynon
1 Replies
3. Shell Programming and Scripting
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... (6 Replies)
Discussion started by: jisha
6 Replies
4. Shell Programming and Scripting
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
5. Shell Programming and Scripting
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
Hi all,
I have a doubt..
If we create shell functions through a script itself, can we use the same functions in command line also..
for example:
$ cat a.sh
##### Functions
function system_info
{
}
function show_uptime
{
} (4 Replies)
Discussion started by: raghu.iv85
4 Replies
7. Shell Programming and Scripting
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
8. Shell Programming and Scripting
so i noticed that when a shell script has a function defined in it, running "sh -x" on that shell script from the command line doesnt show what the function is doing. i like this.
is there anyway for anyone to get around that? to be able to see exactly what a function or functions are doing? (4 Replies)
Discussion started by: SkySmart
4 Replies
9. Shell Programming and Scripting
Hello,
I have a requirement to apply hashing algorithm on flat file on one or more columns dynamically based on header
sample input file
ID|NAME|AGE|GENDER
10|ABC|30|M
20|DEF|20|F
say if i want multiple columns based on the header example id,name or id,age or name,gender and hash and... (13 Replies)
Discussion started by: mkathi
13 Replies
10. UNIX for Beginners Questions & Answers
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
exit(1) User Commands exit(1)
NAME
exit, return, goto - shell built-in functions to enable the execution of the shell to advance beyond its sequence of steps
SYNOPSIS
sh
exit [n]
return [n]
csh
exit [ ( expr )]
goto label
ksh
*exit [n]
*return [n]
DESCRIPTION
sh
exit will cause the calling shell or shell script to exit with the exit status specified by n. If n is omitted the exit status is that of
the last command executed (an EOF will also cause the shell to exit.)
return causes a function to exit with the return value specified by n. If n is omitted, the return status is that of the last command exe-
cuted.
csh
exit will cause the calling shell or shell script to exit, either with the value of the status variable or with the value specified by the
expression expr.
The goto built-in uses a specified label as a search string amongst commands. The shell rewinds its input as much as possible and searches
for a line of the form label: possibly preceded by space or tab characters. Execution continues after the indicated line. It is an error to
jump to a label that occurs between a while or for built-in command and its corresponding end.
ksh
exit will cause the calling shell or shell script to exit with the exit status specified by n. The value will be the least significant 8
bits of the specified status. If n is omitted then the exit status is that of the last command executed. When exit occurs when executing
a trap, the last command refers to the command that executed before the trap was invoked. An end-of-file will also cause the shell to exit
except for a shell which has the ignoreeof option (See set below) turned on.
return causes a shell function or '.' script to return to the invoking script with the return status specified by n. The value will be the
least significant 8 bits of the specified status. If n is omitted then the return status is that of the last command executed. If return
is invoked while not in a function or a '.' script, then it is the same as an exit.
On this man page, ksh(1) commands that are preceded by one or two * (asterisks) are treated specially in the following ways:
1. Variable assignment lists preceding the command remain in effect when the command completes.
2. I/O redirections are processed after variable assignments.
3. Errors cause a script that contains them to abort.
4. Words, following a command preceded by ** that are in the format of a variable assignment, are expanded with the same rules as a vari-
able assignment. This means that tilde substitution is performed after the = sign and word splitting and file name generation are not
performed.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
SEE ALSO
break(1), csh(1), ksh(1), sh(1), attributes(5)
SunOS 5.10 15 Apr 1994 exit(1)