[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.
Re: Install Bashdb and Bash not as root, Matthew Woehlke, 2009/03/13