Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Oct 2007 23:48:57 +0000
From:      "Benjamin M. A'Lee" <bma+lists@subvert.org.uk>
To:        freebsd-questions@freebsd.org
Subject:   Re: [freebsd-questions] Dangers of using a non-base shell
Message-ID:  <20071030234857.GA1186@gilmour.subvert.org.uk>
In-Reply-To: <47279664.1050704@thingy.com>
References:  <472647A0.3030009@brookes.ac.uk> <20071030130206.GB1178@gilmour.subvert.org.uk> <47279664.1050704@thingy.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Oct 30, 2007 at 08:39:00PM +0000, Howard Jones wrote:
> Benjamin M. A'Lee wrote:
>> You could possibly also put "bash -l && exit" in your .shrc, which would
>> exit if bash exited successfully. I haven't tested it, but it should
>> work.
>>   
> or 'exec bash -l' which will replace the existing shell with bash in 
> memory, rather than run it from it as a subprocess. I was going to verify 
> that that's the technical explanation, but 'man exec' gets you the utterly 
> useless builtin(1) manpage.
> 
> The effect is that you only have to type exit once, anyway.

I was going to suggest exec, but if bash then failed to execute, you'd be
immediately logged out of sh as well. My suggestion would execute bash if it
could, and drop back to sh if bash failed.

There may be a better way of doing it, and you can always get a shell prompt
some other way if needs be, but this is what works for me.

-- 
Benjamin A'Lee :: benjamin.alee@subvert.org.uk
Subvert Technologies :: http://subvert.org.uk/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071030234857.GA1186>