OK, entonces sourceejecuta el script en el shell actual y por .separado, como se detalla en el script en ejecución con "." Y con "source", por ejemplo, pero, específicamente, en mi .bashrcarchivo, tengo:
[ -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
¿Puedo reemplazar esto con:
[ -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
¿Funcionará en OS X? ¿Es ese el problema de "POSIX"?
Lo intenté y lo anterior todavía parece funcionar en Ubuntu (por lo que en realidad funcionan con ambos sourcey ., es decir, me dan la funcionalidad deseada en el shell). ¿Debo elegir uno sobre el otro, o me estoy perdiendo algo?
FWIW, en OS X, obtengo mi .bashrcde mi .bash_profile.
sourceejecuta el script en el shell actual y por .separado"? Ambos lo ejecutan en el shell actual; de lo contrario no tendría sentido