Jon Seymour wrote: > Bash attempts to determine when it is being run by the remote shell > daemon, usually rshd. If bash determines it is being run by rshd, it > reads and executes > commands from ~/.bashrc, if that file exists and is readable. It > will not do this if invoked as sh. The --norc option may be used to inhibit > this behavior, and > the --rcfile option may be used to force another file to be read, but > rshd does not generally invoke the shell with those options or allow them to > be specified. > > However, when I use the ssh -t option, it would seem that allocation of a > pseudo-tty is causing bash to assume that it is not being invoked by a > remote shell daemon.
Correct. One of the criteria bash uses to decide whether it's being invoked by rshd or sshd is that its stdin is a socket. Allocating a pseudo-tty makes that false. You can force bash to source .bashrc when it finds the various ssh variables in its startup environment by defining SSH_SOURCE_BASHRC in config-top.h and rebuilding bash. That will cause .bashrc to be sourced more times than it should, but it will catch the cases you are interested in. Chet > > Is there any way I can have an ssh pseudo-tty and get bash to execute > ~/.bashrc? > > jon seymour. -- ``The lyf so short, the craft so long to lerne.'' - Chaucer Chet Ramey, ITS, CWRU [EMAIL PROTECTED] http://cnswww.cns.cwru.edu/~chet/