~ / .bash_profile sendo executado para shells que não são de login

1

Meu bash_profile se parece com:

takeapic
#print status
#do other stuff
source ~/.bashrc

Por algum motivo, todo emulador de terminal que eu chamo executa este script. Não deve ser executado apenas uma vez, quando eu fizer o login. Por que isso está acontecendo?

Meu bashrc contém estes comandos:

export PATH=$PATH:/home/saga/bin
export VISUAL=vim
export EDITOR=vim
export LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33'

alias ls='ls --color=auto'
alias ll='ls -l'
alias la='ls -a'
alias lla='ls -al'
alias cx='chmod +x'
alias clipboard='xsel -b'
alias diff='diff --color=auto'
alias grep='grep --color=auto'
alias sakura='sakura -e tmux'
alias zathura='zathura --fork'

export HISTCONTROL=ignoredupd

Eu entendo que o tmux inicia cada painel como um shell de login, mas o sakura executa o .bash_profile mesmo quando eu o chamo pelo caminho.

    
por saga 28.11.2016 / 18:58

1 resposta

0

Na verdade, a documentação do bash diz

Chamado como um shell interativo de não-login Quando um shell interativo que não é um shell de login é iniciado, o Bash lê e executa comandos de ~ / .bashrc, se esse arquivo existir.

Portanto, é um comportamento esperado

Fonte: link

    
por 28.11.2016 / 20:26