É o caso? Em caso afirmativo, onde está o alias do sistema para
.
definido?
É o caso, mas não existe um alias de todo o sistema.
.
e source
são os mesmos incorporados ao Bash, mas isso é definido diretamente no nível do código-fonte ( link ).
A razão por trás de ter dois nomes para o mesmo builtin provavelmente reside no fato de que Bash pretende ser compatível com POSIX até certo ponto ; então source
para fornecer um nome mnemônico e .
para cumprir os padrões POSIX.
O motivo real pelo qual source
não funciona em cron
é que por padrão cron
jobs no crontab são executados em sh
, que é um link simbólico para /bin/dash
(um shell que visa seja compatível com POSIX) que simplesmente não implementa source
. No entanto, ele implementa .
.
De man dash
:
. file
The commands in the specified file are read and executed by the
shell.