OK, source
executa o script no shell atual e .
separadamente, conforme detalhado na execução de scripts com "." E "source", por exemplo, mas, especificamente, no meu .bashrc
arquivo, tenho:
[ -f ~/.bash_aliases ] && source ~/.bash_aliases
[ -f ~/.git-completion.bash ] && source ~/.git-completion.bash
[ -s ~/.autojump/etc/profile.d/autojump.sh ] && source ~/.autojump/etc/profile.d/autojump.sh
Posso substituir isso por:
[ -f ~/.bash_aliases ] && . ~/.bash_aliases
[ -f ~/.git-completion.bash ] && . ~/.git-completion.bash
[ -s ~/.autojump/etc/profile.d/autojump.sh ] && . ~/.autojump/etc/profile.d/autojump.sh
Isso funcionará no OS X - é esse o problema do "POSIX"?
Eu tentei e os itens acima ainda parecem funcionar no Ubuntu (então eles realmente funcionam com os dois source
e .
, isto é, eles me dão a funcionalidade desejada no shell). Devo escolher um sobre o outro, ou estou faltando alguma coisa?
FWIW, no OS X, eu procuro o meu .bashrc
no meu .bash_profile
.
source
executa o script no shell atual e .
separadamente"? Ambos o executam no shell atual; caso contrário, não haveria sentido