Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

RE: Help with functions



FYI, I have fixed this problem by adding the following line to the END of
the script in question:

  $*

thus explicitly calling the function passed in the parameters to
run_masterfile_step. It seems like a giant hack to me, but at least it
works.

-n.


-----Original Message-----
From: Cosgray, Nathan 
Sent: Thursday, April 27, 2000 11:01 AM
To: zsh-users@xxxxxxxxxxxxxx
Subject: RE: Help with functions



I added the line as you suggested to the beginning of the
run_masterfile_step script:

  #!/usr/local/bin/zsh

  $@

  now()
  { echo "\c`date +%H:%M:%S` "; }
 
  ...

This makes no difference in its execution. The functions are still not being
run. Are there other ways to tell a zsh script to run a function?

Where can I find documentation on '$@' and other such nifty things?

-n.

-----Original Message-----
From: Oliver Kiddle [mailto:opk@xxxxxxxxxxxxx]
Sent: Wednesday, April 26, 2000 7:41 PM
To: Cosgray, Nathan
Cc: zsh-users@xxxxxxxxxxxxxx
Subject: Re: Help with functions


Cosgray, Nathan wrote:

> Here is the problem that seems to be holding me back.  To be as precise as
> possible, the makefile calls functions within a zsh script in the
following
> manner:
>   <file1>:
>         ./run_masterfile_step get_file <param1> <param2>

> The zsh script run_masterfile_step contains about 25 functions defined
like

> Now, I have never delved too deeply into shell scripting, but from what I
> can gather the idea behind this is that make calls the functions defined
in
> run_masterfile_step.

What is happening here is that make is calling the run_masterfile_step
script with a number of parameters, the first of which is 'get_file' or
the name of some function. This does not implicitly mean that the
get_file function will be run. My guess is that run_masterfile_step
contained a line which looked something like:

$@

and that this line has been lost. This line substitutes any parameters
so would run a function if the first parameter named one.

Oliver Kiddle




> 
> The problem is, none of this is working.  make fails due to the fact that
> none of the functions provided by run_masterfile_step actually do
anything.
> To experiment from the command line, I can type './run_masterfile_step
> <somefunction>' and nothing will happen (obviously I have closely examined
> the functions and I'm including valid parameters, referring to files that
> exist, etc.).  I get no error messges, no output (all of the functions
> within the zsh script use echo's extensively to give feedback), and I
notice
> no discernable processing time.  I can easily tell what is supposed to
> happen from the script code but none of it is in fact happening.  I can do
a
> 'source run_masterfile_step' and then type '<somefunction>' and it will
work
> properly, however.  So I'm thinking there must be a problem with the way
in
> which these functions are called.  Unfortunately, I can't find any
> documentation that describes the syntax and rules for this.  Does this
> problem have anything to do with the fact that these functions are
> indirectly called from make vs. from within zsh?  Should these functions
be
> split up into separate shell scripts?
> 
> We currently have zsh 3.0.2 installed on SunOS 5.5 and 5.6 (varies by
> machine).  I also compiled zsh 2.5.03 but it did not work as expected with
> these scripts, either.  I have no way of knowing what version of zsh
> orginally ran these scripts years ago.  I do know that they were used
> sucessfully for quite some time -- at least 3 years ending in November of
> 1998.  I believe there have been some hardware and software upgrades since
> then but I'm not sure what could cause these scripts to break in such a
> fundamental way.
> 
> I'm sure that I can rewrite or reorganize these scripts if I need to.  But
> I'd just like to make sure there is nothing I can do to easily fix this.
> I'm also extremely confused about why this would no longer be working the
> way it was written.  There must be something important I'm missing and I'd
> like to understand what that is.
> 
> So.  Any ideas or thoughts?  Corrections of syntax?  Version conflicts?
Do
> you need more information, like the scripts themselves?  Or at the least
can
> you tell me where to go for zsh scripting documentation more detailed and
> complete than the man pages or that kept on http://www.zsh.org?
> 
> Your help is very much appreciated.
> 
> Thanks
> 
> Nathan A. Cosgray, Database Administrator
> IUPUI Dept. of Medical Genetics



Messages sorted by: Reverse Date, Date, Thread, Author