[freebsd-questions] Dangers of using a non-base shell

Benjamin M. A'Lee bma+lists at subvert.org.uk
Tue Oct 30 16:49:26 PDT 2007


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 at subvert.org.uk
Subvert Technologies :: http://subvert.org.uk/


More information about the freebsd-questions mailing list