[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: I can't get bash-3.2.17 to process startup/login scripts to save me,
From: |
Bob Proulx |
Subject: |
Re: I can't get bash-3.2.17 to process startup/login scripts to save me, please help! |
Date: |
Sat, 11 Aug 2007 18:22:44 -0600 |
User-agent: |
Mutt/1.5.9i |
SciFi wrote:
> Bob Proulx wrote:
> > Is this a self-compiled binary?
>
> Yes, I do not use pkg-mgrs such as fink or macports, maybe only for
> clues when a regular build bombs (straight from the tarballs).
If you have self compiled it then it should be possible to debug it.
What is the value of SYS_PROFILE in pathnames.h?
$ grep SYS_PROFILE pathnames.h
#define SYS_PROFILE "/etc/profile"
What paths were compiled into your bash? Using strings and grep can
pull it out of the compiled binary.
$ strings bash | grep profile
/etc/profile
~/.profile
~/.bash_profile
noprofile
Since you say that it is not being source I am guessing that instead
of /etc/profile we will see /usr/local/etc/profile or some such
location there instead. If that is the case then changing the
configuration and recompiling should resolve the issue.
> I already have /etc/profile set up this way:
>
> -bash-3.2$ ls -al /etc/profile
> -rwxrwxrwx 1 root wheel 162 Aug 4 16:46 /etc/profile
The profile should not be executable. It is "sourced" by the shell,
not "executed" by the shell. Plus it should not be world writable.
Please fix that.
$ sudo chmod 0644 /etc/profile
> -bash-3.2$ cat /etc/profile
> # System-wide .profile for sh(1)
>
> #PATH="/bin:/sbin:/usr/bin:/usr/sbin"
> #export PATH
>
> if [ "x${BASH-no}" != "xno" ]; then
> [ -r /etc/bashrc ] && . /etc/bashrc
> fi
I personally do not use a /etc/bashrc configuration. But whatever.
> -bash-3.2$ echo "x${BASH-no}"
> x/bin/bash
> -bash-3.2$ ls -al /etc/bashrc
> -rwxrwxrwx 1 root wheel 1739 Aug 4 17:18 /etc/bashrc
Same file mode problems here.
$ sudo chmod 0644 /etc/bashrc
> In meantime I am manually able to
> . /etc/bashrc
> every time I start a Terminal or xterm window, but doing this is
> a real pain y'know...
If you want /etc/bashrc to be sourced you could always source it in
your ~/.bashrc file.
My preferred system software distribution does not include a system
wide /etc/bashrc file at all. It is not required. You seem to be
using it where I would normally be using /etc/profile.
Bob