ОК, поэтому source
скрипт запускается в текущей оболочке и .
отдельно, как описано, например, в сценарии с «.» И «исходным кодом» , но, в частности, в моем .bashrc
файле я имею:
[ -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
Могу ли я заменить это на:
[ -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
Будет ли это работать на OS X - это проблема "POSIX"?
Я попробовал и выше до сих пор , кажется , работать на Ubuntu (так они фактически работают с обоими source
и .
, то есть, они дают мне нужную функциональность в оболочке). Должен ли я выбрать один над другим, или я что-то упустил?
FWIW, на OS X, я исходный код .bashrc
от моего .bash_profile
.
source
запускает скрипт в текущей оболочке и .
отдельно»? Они оба запускают его в текущей оболочке; иначе не было бы никакого смысла