[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: PATH set in .bash_profile is not honored by eshell+tramp
From: |
Adrian Phillips |
Subject: |
Re: PATH set in .bash_profile is not honored by eshell+tramp |
Date: |
Tue, 27 Jan 2015 08:33:50 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) |
>>>>> "Ivan" == Ivan Zakharyaschev <address@hidden> writes:
Ivan> The problem is that I set a custom PATH in my .bash_profile on
Ivan> the remote host, but it is not used whenever I issue a command
Ivan> in eshell (+tramp).
Ah, the fun of bash startup scripts. According to the man page :-
When bash is invoked as an interactive login shell, or as a
non-interactive shell with the --login option, it first reads and
executes commands from the file /etc/profile, if that file
exists. After reading that file, it looks for ~/.bash_profile,
~/.bash_login, and ~/.profile, in that order, and reads and
executes commands from the first one that exists and is readable.
The --noprofile option may be used when the shell is started to
inhibit this behavior.
When a login shell exits, bash reads and executes commands from
the file ~/.bash_logout, if it exists.
When an interactive shell that is not a login shell is started,
bash reads and executes commands from /etc/bash.bashrc and
~/.bashrc, if these files exist. This may be inhibited by using
the --norc option. The --rcfile file option will force bash to
read and execute commands from file instead of /etc/bash.bashrc
and ~/.bashrc.
which would mean, unless tramp logs in using --login (presuambly via
some ssh mechanism) you'll need to setup things in .bashrc.
I've had a .bash_login that sources .bashrc for decades now to avoid all
these problems.
Sincerely,
Adrian Phillips
--
Perl hacker | Ubuntu user