Thanks for the help. I tried also pointing the .bash_profile and .bash_login to the .bashrc and now get the following. ---------- [~]bash -x + export 'PS1=[\w]' + PS1='[\w]' + alias 'll=ls -lrt' + export PHENIX_OVERWRITE_ALL=true + PHENIX_OVERWRITE_ALL=true + alias setphenix=/Applications/PHENIX-1.8.1-1168/Contents/phenix-1.8.1-1168/phenix_env.sh + alias 'setccp4=source /Applications/ccp4-6.3.0/bin/ccp4.setup-sh' [~]setphenix + /Applications/PHENIX-1.8.1-1168/Contents/phenix-1.8.1-1168/phenix_env.sh [~]phenix.refine + phenix.refine bash: phenix.refine: command not found [~] ------------- I am wondering if something in the phenix_env.sh is wrong? I found phenix.refine in the directory and sure enough it works if run here: /Applications/PHENIX-1.8.1-1168/Contents/phenix-1.8.1-1168/build/mac-intel-osx-x86_64/bin Thanks! Simon On 30 Jan 2013, at 01:08, Ben Eisenbraun wrote:
On Tue, Jan 29, 2013 at 10:54 AM, Kip Guja
wrote: You need to use .profile not .bashrc on a Mac
Actually that's not true.
In the case of bash, a login shell will read /etc/profile, ~/.bash_profile, ~/.bash_login, and ~/.profile in that order. A subshell, i.e. an interactive shell that is not a login shell, will read ~/.bashrc.
In the traditional UNIX windowing environment of X11, the X11 session will invoke a login shell, reading one or all of the various profile files, and all subsequent shells started via terminal emulators and the like will usually be subshells, which will read your ~/.bashrc.
If you look at /Applications/Utilities/XQuartz.app/Contents/MacOS/X11, you'll see that the Xorg ported to OS X does exactly this. A snippet:
case $(basename "${SHELL}") in bash) exec -l "${SHELL}" --login -c 'exec "${@}"' - "${@}" ;;
Where users get tripped up on OS X is that many of them will use Terminal.app as their terminal emulator, and since it's not an X11 application, it uses a login shell as the default shell in its interface.
The solution is to just follow the Bash FAQ suggestion to have your ~/.bash_profile contain:
test -f ~/.bashrc && . ~/.bashrc
Which will ensure you always pick up your base shell environment regardless of how the shell is started.
Hopefully some of that explanation helps you, Simon, but if you're still stuck, you can run 'bash -x' to put the shell into debug mode as it interprets your shell start up files. It should give you some clues as to what's going wrong. Annoyingly that option is not documented in the manpage on this machine. Here is some additional explanation:
http://wiki.bash-hackers.org/scripting/debuggingtips#use_shell_debug_output
-ben _______________________________________________ phenixbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/phenixbb