Respuestas:
source
y .
son sinónimos en Bash .
Para cualquiera que quiera verificar que los comandos son simplemente sinónimos y nada más, mire el código fuente , digamos para la versión 4.3, y examine el archivo builtins/source.def
. Usted va a leer que los dos comandos internos, source
y .
, utilizar la misma función: source_builtin
.
.
es el comando fuente tradicional, heredado del antiguo shell bourne. source
es solo un bash incorporado que hace exactamente lo mismo .
, presumiblemente porque es más legible (un .
solo puede ser difícil de detectar con una fuente pequeña). Verás help source
y help .
muestra la misma información.
man bash
y luego busca source
, verá que source filename [arguments]
es sinónimo de . filename [arguments]
.
.
es sinónimo source
de bash, pero no de POSIX sh, por lo que debe usarlo .
si / script / sh ejecuta su script. Tenga en cuenta que bash afirma ejecutarse como POSIX sh cuando se llama como / bin / sh, pero acepta source
sin quejarse.
Este comportamiento me ha mordido, los scripts probados con bash como / bin / sh fallan cuando se ejecutan bajo cenizas, por ejemplo.
#!/bin/sh
embargo, cuando el shebang dice que nunca debes asumir que el shell admite nada más que las características POSIX. pubs.opengroup.org/onlinepubs/9699919799/utilities/…