https://bugzilla.novell.com/show_bug.cgi?id=345570
Summary: .bashrc is not sourced after ssh -t
Product: openSUSE 10.2
Version: Final
Platform: PowerPC-64
OS/Version: openSUSE 10.2
Status: NEW
Severity: Normal
Priority: P5 - None
Component: Basesystem
AssignedTo: bnc-team-screening@forge.provo.novell.com
ReportedBy: vincent@vinc17.org
QAContact: qa@suse.de
Found By: ---
When I run a command with "ssh -t <command>", the .bashrc file
is not sourced. This problem doesn't occur without the -t option (or with
Debian machines).
doublejack:~> cat /etc/SuSE-release
openSUSE 10.2 (PPC)
VERSION = 10.2
doublejack:~> ssh -t doublejack echo \$PATH
/usr/bin:/bin:/usr/sbin:/sbin
doublejack:~> ssh doublejack echo \$PATH
/home/vlefevre/bin:/home/vlefevre/ppc64/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/X11R6/bin:/opt/bin:.
doublejack:~> strings -a =sshd | grep usr/sbin
/usr/bin:/bin:/usr/sbin:/sbin
As you can see, with the -t option, I just get the $PATH defined by sshd (not
the $PATH redefined in my .bashrc).
The bash(1) man page says:
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.
"ssh -t doublejack echo \$SHELL" outputs /bin/bash, so the shell has been
invoked as bash (not sh).
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.