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?
Yes. Issue set -x (or set -xv) inside the function, like this:
My personal solution for this is to execute a variable "$chFullDebug" inside each function i write. Under normal conditions this variable is empty and the command does nothing. When i need the extra debugging i set the variable to "set -xv":
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)
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)
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)
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)
Hi,
How can i do the mathematical calculations in bash shell?
Are the mathematical functions available in bash shell?
Ex:
pow
ceil
floor
sqrt (5 Replies)
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)
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)
I have 7 functions those need to be executed as command line inputs, I tried with below code it’s not executing function. If I run the ./script 2 then fun2 should execute , how to initiate that function I tried case and if else also, how to initiate function from command line
if
then... (8 Replies)
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
LEARN ABOUT MOJAVE
autouse5.18
autouse(3pm) Perl Programmers Reference Guide autouse(3pm)NAME
autouse - postpone load of modules until a function is used
SYNOPSIS
use autouse 'Carp' => qw(carp croak);
carp "this carp was predeclared and autoused ";
DESCRIPTION
If the module "Module" is already loaded, then the declaration
use autouse 'Module' => qw(func1 func2($;$));
is equivalent to
use Module qw(func1 func2);
if "Module" defines func2() with prototype "($;$)", and func1() has no prototypes. (At least if "Module" uses "Exporter"'s "import",
otherwise it is a fatal error.)
If the module "Module" is not loaded yet, then the above declaration declares functions func1() and func2() in the current package. When
these functions are called, they load the package "Module" if needed, and substitute themselves with the correct definitions.
WARNING
Using "autouse" will move important steps of your program's execution from compile time to runtime. This can
o Break the execution of your program if the module you "autouse"d has some initialization which it expects to be done early.
o hide bugs in your code since important checks (like correctness of prototypes) is moved from compile time to runtime. In particular,
if the prototype you specified on "autouse" line is wrong, you will not find it out until the corresponding function is executed. This
will be very unfortunate for functions which are not always called (note that for such functions "autouse"ing gives biggest win, for a
workaround see below).
To alleviate the second problem (partially) it is advised to write your scripts like this:
use Module;
use autouse Module => qw(carp($) croak(&$));
carp "this carp was predeclared and autoused ";
The first line ensures that the errors in your argument specification are found early. When you ship your application you should comment
out the first line, since it makes the second one useless.
AUTHOR
Ilya Zakharevich (ilya@math.ohio-state.edu)
SEE ALSO perl(1).
perl v5.18.2 2013-11-04 autouse(3pm)