From: Tomasz Moskal <ramshackle.industries@gmail.com>
To: zsh-users@zsh.org
Subject: Re: how to refer to basename of $0
Date: Fri, 29 Jul 2011 03:06:49 +0100 [thread overview]
Message-ID: <1311905211.7733.6.camel@localhost.localdomain> (raw)
In-Reply-To: <CADjGqHt4-PnBNC0QgyRVw0H-HtCWcRp_aA7N3zJoH+xK_676kw@mail.gmail.com>
On Thu, 2011-07-28 at 21:39 -0400, TJ Luoma wrote:
> Sorry folks, I'm explaining this really badly. Forget I said anything
> about bash. I don't care about bash. I'm trying to leave bash behind.
>
> Let me start over. Here's what happens in zsh 4.3.11
>
> # my comments are offset with #
> # fyi - "Air%" is my prompt
>
> # just to show that $NAME is empty
> Air% echo $NAME
> Air%
>
>
> # /tmp/.source has only one line:
> Air% cat /tmp/.source
> NAME=`basename $0`
>
> # here is my 'test.zsh' script:
> Air% cat ./test.zsh
> #!/bin/zsh
>
> . /tmp/.source
>
> echo "$NAME"
>
> exit 0
>
> # So now I run 'test.zsh' :
>
> Air% ./test.zsh
> .source
>
> # OK, so you can see that it output '.source' when I wanted it to
> output 'test.zsh'
>
> # Next: rename /tmp/.source to ~/.zshenv
>
> Air% mv /tmp/.source ~/.zshenv
>
> # Edited 'test.zsh' is now this:
>
> Air% cat =test.zsh
> #!/bin/zsh
>
> echo "$NAME"
>
> exit 0
> #EOF
>
> # now when I run 'test.zsh' again:
>
> Air% test.zsh
> zsh
>
> # Someone suggested "unsetopt function_argzero" so I added that to .zshenv:
>
> Air% cat ~/.zshenv
> unsetopt function_argzero
>
> NAME=`basename $0`
>
> # and re-ran test.zsh, which gave me:
>
> zsh
>
>
> Is it even possible to set NAME in .zsh* (and have it return
> 'test.zsh' or are they called too early in the process?
>
> TjL
It's working here:
% cat .zshenv
unsetopt function_argzero
name=`basename $0`
% cat foo
#!/bin/zsh
. ~/.zshenv
echo $name
exit 0
% ./foo
foo
A bit perplexed, this is what I am... Have a look at this:
% zsh -f
% ./foo
foo
next prev parent reply other threads:[~2011-07-29 2:05 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-28 22:55 TJ Luoma
2011-07-28 23:54 ` Tomasz Moskal
2011-07-29 0:24 ` Phil Pennock
2011-07-29 1:30 ` Tomasz Moskal
2011-07-29 0:44 ` Benjamin R. Haskell
2011-07-29 1:39 ` TJ Luoma
2011-07-29 2:06 ` Tomasz Moskal [this message]
2011-07-29 4:04 ` Bart Schaefer
2011-07-29 4:50 ` TJ Luoma
2011-07-29 11:48 ` Tomasz Moskal
2011-07-29 14:08 ` Benjamin R. Haskell
2011-07-29 22:30 ` Bart Schaefer
2011-07-30 19:43 ` Greg Klanderman
2011-07-29 3:05 ` TJ Luoma
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=1311905211.7733.6.camel@localhost.localdomain \
--to=ramshackle.industries@gmail.com \
--cc=zsh-users@zsh.org \
/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).