~ / .profile não está sendo executado quando o Terminal é aberto? [OS X 10.6.8]

4

De alguma forma, meu prompt do bash foi alterado para "elementary: ~ steven $" e quero alterá-lo de volta para o prompt padrão. Eu adicionei o seguinte primeiro em ~ / .bashrc e depois em ~ / .profile:

export PS1="\s-\v\$ "

Nem seja executado quando eu abro o Terminal. Se eu executar o comando source em qualquer arquivo, ele funcionará bem para o restante da sessão.

Existe algo que eu estou negligenciando aqui?

EDIT: Aqui está a saída do que Ian sugeriu:

elementary:~ steven$ bash --login --verbose
# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
    eval '/usr/libexec/path_helper -s'
fi
/usr/libexec/path_helper -s
PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/local/AVRMacPack/bin"; export PATH;

if [ "${BASH-no}" != "no" ]; then
    [ -r /etc/bashrc ] && . /etc/bashrc
fi
# System-wide .bashrc file for interactive bash(1) shells.
if [ -z "$PS1" ]; then
   return
fi

PS1='\h:\W \u\$ '
# Make bash check its window size after a process completes
shopt -s checkwinsize
if [ -e "/usr/local/AVRMacPack" ]; then
PATH="$PATH:/usr/local/AVRMacPack/bin"
export PATH
fi

# Setting PATH for Python 3.2
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.2/bin:${PATH}"
export PATH
elementary:~ steven$ which bash
which bash
/bin/bash
    
por Steven Zezulak 12.09.2011 / 04:39

2 respostas

5

.bashrc é executado somente para shells não interativos de acordo com a página man bash.

.bash_profile é executado para shells de login.

O arquivo .profile é carregado por shells Korn. Eu não sei que o bash presta atenção a tudo isso. Eu não consegui encontrar nenhuma referência a ele na página man bash.

No OS X, o programa Terminal.app executa um shell de login para cada nova janela Terminal.app que você abrir.

Você quer colocar sua configuração de prompt em .bash_profile .

Você sempre pode fazer o seguinte em .bash_profile . Não é incomum, mas não posso dizer que tipo de repercussão poderia ter:

if [ -f ~/.bashrc ]; then
   source ~/.bashrc
fi

Então você não teria que manter dois arquivos.

    
por 12.09.2011 / 04:51
0

Eu posso estar incorreto, mas se bash for seu shell, você deve colocar isso em seu ~ / .bash_profile e não em seu .bashrc.

    
por 12.09.2011 / 04:50