zsh-users
 help / color / mirror / code / Atom feed
From: "Benjamin R. Haskell" <zsh@benizi.com>
To: Tomasz Moskal <ramshackle.industries@gmail.com>
Cc: zsh-users@zsh.org
Subject: Re: how to refer to basename of $0
Date: Fri, 29 Jul 2011 10:08:58 -0400 (EDT)	[thread overview]
Message-ID: <alpine.LNX.2.01.1107291003040.18508@hp.internal> (raw)
In-Reply-To: <1311940087.1494.27.camel@localhost.localdomain>

On Fri, 29 Jul 2011, Tomasz Moskal wrote:

> On Thu, 2011-07-28 at 21:04 -0700, Bart Schaefer wrote:
>> On Jul 28,  9:39pm, TJ Luoma wrote:
>> }
>> } Is it even possible to set NAME in .zsh* (and have it return 
>> } 'test.zsh' or are they called too early in the process?
>>
>> This is sounding awfully familiar.  Oh, it was on zsh-workers, where 
>> some of the -users crowd would not have seen it.
>>
>> Starts here:
>>
>> http://www.zsh.org/mla/workers/2011/msg00159.html
>>
>> Interesting branch begins here:
>>
>> http://www.zsh.org/mla/workers/2011/msg00163.html
>>
>> Particularly:
>>
>> http://www.zsh.org/mla/workers//2011/msg00172.html
>
> Thanks for the links, but I am still baffled -  basename $0  is 
> working here without any problems:
>
> % cat ~/.zshenv
> unsetopt function_argzero
> name=`basename $0`
>
> % cat ./foo
> #!/bin/zsh
> . ~/.zshenv
> echo $name
> exit 0

The point wasn't quite the same (didn't involve "source"-ing .zshenv). 
$0 doesn't work if used inside startup files (.zshenv/.zshrc/.zprofile). 
When you source it manually, it's not treated specially.

Just wanted to note that the '%x' that I pointed out does work, though:

## as the first line of .zshenv (so, will be run when starting zsh)
$ sed 1q ~/.zshenv
echo in .zshenv 0=$0 %x=${(%):-%x}

## results in:
$ zsh
in .zshenv 0=zsh %x=/home/bhaskell/.zshenv

-- 
Best,
Ben


  reply	other threads:[~2011-07-29 14:09 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
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 [this message]
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=alpine.LNX.2.01.1107291003040.18508@hp.internal \
    --to=zsh@benizi.com \
    --cc=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).