bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Install Bashdb and Bash not as root


From: lehe
Subject: Re: Install Bashdb and Bash not as root
Date: Wed, 4 Mar 2009 13:15:43 -0800 (PST)

Thanks Bob!
Since the old shell is the login shell reading ./bash_profile and the new
one isn't but reading ./bashrc,  how could there possibly be infinite loop
at login-in? You mean, new shell keeps calling itself by reading
./bash_profile? If the infinite loop happens, what would you do in those
spare terminals? 

I tried add PATH=mypath_for_bashdb:${PATH} to both ./bash_profile and
./bashrc. However emacs still saying no match to "M-x bashdb". Any help is
appreciated!
Thanks!


Bob Proulx wrote:
> 
> lehe wrote:
>> I just solve my problem by adding the path of my newly-installed bash to
>> the
>> beginning of PATH. However I now have some new questions: 
>> 
>> 1. The change to PATH is effective only in the current shell session. I
>> was
>> wondering if it is possible to run the new bash instead of the old one
>> everytime it is lauched in terminal, putty and in emacs. Is there a place
>> where the change to PATH could be added and executed before bash starts,
>> like ".bashrc" for when bash is lauched?
> 
> The best place is with 'chsh' to change your account to use the new
> shell.  But of course that doesn't work because your personal binary
> won't be listed in the systems list of known shells.  So you will have
> to improvise.
> 
> This is what I have done in these types of cases.  Bash reads the
> $HOME/.bash_profile on login.  Put your PATH adjustments there.  Then
> 'exec' a new bash process, overlaying the current process.  The new
> shell won't be a login shell and won't read .bash_profile and won't
> create an infinite loop.  The new shell will read the $HOME/.bashrc
> file.
> 
> The danger is creating an infinite loop at login.  Or creating an
> error that causes your login process to exit.  Or both!  Beware!
> 
> When making these types of changes I always keep spare terminals
> logged in so that I can recover from mistakes.  Otherwise you will
> need to beg for help from the superuser to recover.  Be careful!
> 
> In .bash_profile:
>   PATH=$HOME/bin:$PATH
>   SHELL=$HOME/bin/bash
>   exec $SHELL
> 
> Remember that exec overlays the current process replacing it with the
> new process.  Nothing in the same file after the exec will be run.  It
> exits the current file at that point.
> 
> Bob
> 
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Install-Bashdb-and-Bash-not-as-root-tp22316418p22339530.html
Sent from the Gnu - Bash mailing list archive at Nabble.com.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]