From: Sweth Chandramouli <sweth@astaroth.nit.gwu.edu>
To: zsh-users@math.gatech.edu
Subject: Globbing in a function (was Re: globbing for links in pathnames)
Date: Fri, 5 Feb 1999 18:48:53 -0500 [thread overview]
Message-ID: <19990205184853.A24198@astaroth.nit.gwu.edu> (raw)
On Thu, Feb 04, 1999 at 09:07:55PM -0800, Bart Schaefer wrote:
> On Feb 4, 11:22pm, Sweth Chandramouli wrote:
> } so it should end up something like the following:
> }
> } x=(pkgs/*(@)) ; ls -d ${^x}/man(/)
>
> The reason I used the eval was to avoid having x remain set after the
> command completes. `x=(*(@)) eval ...` will unset x again at the end
> of the eval, and won't destroy any existing value of x.
i have a function that i use to link executables from where i
normally install them to (usually /opt/wherever) to /usr/local/bin.
i was trying to rewrite it using this sort of format (rather than
invoking find, as i was doing before), but am running afoul of something
that i can't quite figure out. the i've hacked out some stuff at the
beginning (to allow me to pass it options) for the sake of clarity; the
interesting part is this:
(astaroth)~/.zfunc: BINLIST=(*(*)) ; echo $BINLIST ; unset BINLIST
binlink cwhois gpid mck newm newterm nobrs perf xbuffy xt xtitle
(astaroth)~/.zfunc: which binlink
binlink () {
BINLIST=($1(*)) eval 'for BIN in ${=BINLIST} ; do
ln -s ${BIN} /usr/local/bin ;
done'
}
(astaroth)~/.zfunc: binlink \*
zsh: no matches found: *(*)
putting an echo in at the end confirms that BINLIST in
the function is, when binlink is given an escaped asterisk as
its argument, being set to (*(*)); since parameter expansion
occurs before filename generation, why doesn't setting BINLIST
to that value in the function do the same thing that it does
from the command line?
-- sweth.
--
Sweth Chandramouli
IS Coordinator, The George Washington University
<sweth@gwu.edu> / (202) 994 - 8521 (V) / (202) 994 - 0458 (F)
<a href="http://astaroth.nit.gwu.edu/~sweth/disc.html">*</a>
next reply other threads:[~1999-02-05 23:48 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-02-05 23:48 Sweth Chandramouli [this message]
1999-02-06 4:27 Bart Schaefer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=19990205184853.A24198@astaroth.nit.gwu.edu \
--to=sweth@astaroth.nit.gwu.edu \
--cc=zsh-users@math.gatech.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).