From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7058 invoked from network); 12 Jan 2005 12:22:54 -0000 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 12 Jan 2005 12:22:54 -0000 Received: (qmail 38591 invoked from network); 12 Jan 2005 12:22:48 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 12 Jan 2005 12:22:48 -0000 Received: (qmail 9609 invoked by alias); 12 Jan 2005 12:22:28 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 20696 Received: (qmail 9600 invoked from network); 12 Jan 2005 12:22:28 -0000 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by sunsite.dk with SMTP; 12 Jan 2005 12:22:28 -0000 Received: (qmail 38034 invoked from network); 12 Jan 2005 12:22:28 -0000 Received: from hush.va-et-vient.net (HELO mail.va-et-vient.net) (82.225.10.107) by a.mx.sunsite.dk with SMTP; 12 Jan 2005 12:22:25 -0000 Received: from adl by mail.va-et-vient.net with local (Exim 3.35 #1 (Debian)) id 1CohW4-0000Qr-00 for ; Wed, 12 Jan 2005 13:22:24 +0100 Date: Wed, 12 Jan 2005 13:22:24 +0100 To: Zsh hackers list Subject: Re: FAQ and other shell syntax Message-ID: <20050112122224.GA1560@src.lip6.fr> References: <20050112112114.GB11326@sc> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20050112112114.GB11326@sc> From: Alexandre Duret-Lutz X-Spam-Checker-Version: SpamAssassin 2.63 on a.mx.sunsite.dk X-Spam-Level: X-Spam-Status: No, hits=0.0 required=6.0 tests=none autolearn=no version=2.63 X-Spam-Hits: 0.0 On Wed, Jan 12, 2005 at 11:21:14AM +0000, Stephane Chazelas wrote: > read at > http://zsh.sunsite.dk/FAQ/zshfaq01.html#l8 > > [ x$ZSH_VERSION = x -a -f $HOME/bin/zsh ] && exec $HOME/bin/zsh -l > > It should be noted that contrary to zsh, other shells need their > variables to be quotes (my home dir is "/home/Stephane Chazelas"). > > if [ -z "$ZSH_VERSION" ] \ > && [ -f "$HOME/bin/zsh" ] \ > && [ -x "$HOME/bin/zsh" ]; then > SHELL=$HOME/bin/zsh; export SHELL > exec "$SHELL" -l > fi I find it safer to actually try running `zsh --version' rather than using -f and -x. First, because `test -x' is not supported everywhere. Second, because `exec zsh' might fail badly if some shared library is missing. I have the following in my .tcshrc: # ... # skip remaining setup if not an interactive shell if ($?USER == 0 || $?prompt == 0) exit # ... # Is there a working zsh in PATH? (zsh --version) >&/dev/null && exec zsh # Otherwise try know locations. (/bin/zsh --version) >&/dev/null && exec /bin/zsh (/usr/bin/zsh --version) >&/dev/null && exec /usr/bin/zsh (obviously that would look better with SHELL and -l)