SciFi wrote: > Got bash-3.2 patchlevel 17 running on MacOSX in place of Apple's:
Is this a self-compiled binary? > I'm unable to get it to run the (login) startup files at all in any > way-shape-form. If the startup file was being executed, the PS1 > prompt should change as a very visible clue (among other things). > ... > 0 12422 348 0 31 0 27576 668 - Ss p1 0:00.01 login > -pf scifi > 501 12423 12422 0 31 0 30932 1324 - S p1 0:00.01 -bash Seeing "-bash" there looks promising that bash is being started as a login shell. > The /etc/bashrc has many things to do, all of which do work (no > noticable errors when actually sourced manually). Plus /etc/bashrc > does set PS1 to another string so we'd instantly know if it'd been > executed. I copied /etc/bashrc to /etc/bash.bashrc as an extra > precaution: > > -bash-3.2$ ls -al /etc/*bash* > -rwxrwxrwx 1 root wheel 1739 Aug 4 17:18 /etc/bash.bashrc > -rwxrwxrwx 1 root wheel 1739 Aug 4 17:18 /etc/bashrc > -rw-r--r-- 1 root wheel 329 Jul 3 11:40 /etc/bashrc_orig But the login files sourced by bash are /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 the first one that is readable. The above files that you show are not read by bash when it is a login shell. > Any help would be appreciated. I really need to use bash-3.2 while > working on the vast other open projects I'm keeping track of. > Having to manually source /etc/bashrc each & every time is becoming > a massive chore, enough that I go back to using Apple's bash-2.05b. I think there is simply confusion over which files are read by login shells. I think if you check you will find that bash invoked as a login shell will read /etc/profile and ~/.bash_profile okay. Normally the ~/.bash_profile will 'source ~/.bashrc' so that it can be shared between both login shells and non-login shells. Bob _______________________________________________ Bug-bash mailing list Bug-bash@gnu.org http://lists.gnu.org/mailman/listinfo/bug-bash