Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: problem with named directories over the net
- X-seq: zsh-users 4591
- From: Dominik Vogt <dominik.vogt@xxxxxx>
- To: zsh-users@xxxxxxxxxx
- Subject: Re: problem with named directories over the net
- Date: Tue, 15 Jan 2002 11:53:02 +0100
- In-reply-to: <1020114181132.ZM18591@xxxxxxxxxxxxxxxxxxxxxxx>; from schaefer@xxxxxxxxxxxxxxxx on Mon, Jan 14, 2002 at 06:11:32PM +0000
- Mail-followup-to: zsh-users@xxxxxxxxxx
- Mailing-list: contact zsh-users-help@xxxxxxxxxx; run by ezmlm
- References: <20020111134158.F852@xxxxxxxxxxx> <27644.1011014849@xxxxxxxxxxxxxxxx> <20020114174039.F633@xxxxxxxxxxx> <1020114181132.ZM18591@xxxxxxxxxxxxxxxxxxxxxxx>
- Reply-to: d.vogt@xxxxxxxxxxx
On Mon, Jan 14, 2002 at 06:11:32PM +0000, Bart Schaefer wrote:
> On Jan 14, 5:40pm, Dominik Vogt wrote:
> } Subject: Re: problem with named directories over the net
> }
> } Works like a charm - with a few minor modifications. First, you
> } can put that in the chpwd function to have the code executed only
> } when the working directory changes.
>
> I had been about to suggest that myself, but if you ever happen to
> 'setopt chaselinks' you could end up with an infinite loop on your
> hands, so I didn't.
In fact I got that loop at some point when writing the function
and switched to precmd so that I don't have to think about it.
> Also, if it's in chpwd it won't get executed
> the first time a new shell starts up, which might make a difference
> in a few rare cases.
>
> Of course you can insert a call to chpwd at the end of your .zshrc,
That's how I've been doing it for ages to set the xterm title.
> and if
> you use the zsh/parameter module you could prevent the infinite loop with:
Nope, I'm still using the zsh that came with SuSE 7.1 at work (3.1.9).
>
> chpwd ()
> {
> [[ $funcstack == chpwd*chpwd* ]] && return
> # ... etc. ...
> }
>
> } Second, the slash before the
> } asterisk in the case value prevents that it works on the top
> } directory itself since PWD does not have the trailing slash for
> } directories. I now use this script:
> }
> } chpwd ()
> } {
> } case "$PWD" in
> } /net/server/share/home*)
> } cd '/net/server/share' ''
> } ;;
> } /net/server/share/common*)
> } cd '/net/server/share' ''
> } ;;
> } *)
> } ;;
> } esac
> } }
>
> Is it really the case that only `home' and `common' are automounted?
> Anyway, having an empty *) fallthrough is redundant. Why not just:
>
> chpwd ()
> {
> [[ $PWD == /net/server/share/* ]] && cd /net/server/share ''
> }
>
> (plus possible loop protection per above)?
I can't use this approach because there are some directories on
the share that are not remapped to /. Some are mapped to named
directories that not necessarily have the same name (obviously, I
can't give the tmp directory on the share the name 'tmp').
Bye
Dominik ^_^ ^_^
--
Dominik Vogt, email: d.vogt@xxxxxxxxxxx
LifeBits Aktiengesellschaft, Albrechtstr. 9, D-72072 Tuebingen
fon: ++49 (0) 7071/7965-0, fax: ++49 (0) 7071/7965-20
Messages sorted by:
Reverse Date,
Date,
Thread,
Author