bug-bash
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]