Son equivalentes en bash porque hacen exactamente lo mismo. Por otro lado, sourcetiene 5 caracteres más y no es portátil para shells solo POSIX o Bourne, mientras que .(dot) lo es, así que nunca me molesto en usarlo source.
Eso es correcto: el abastecimiento de un archivo ejecuta los comandos en el shell actual y afectará su entorno de shell actual. Todavía puede pasar argumentos al archivo de origen y bash realmente buscará $PATHel nombre del archivo como un comando normal si no contiene barras.
No relacionado con la pregunta original de .vs source, pero en su ejemplo,
. ./myScript.sh
no es idéntico a
source myScript.sh
porque while .y sourceson funcionalmente idénticos, myScript.shy ./myScript.shno son lo mismo. Como ./myScript.shcontiene una barra oblicua, se interpreta como una ruta y el shell simplemente la usa ./myScript.sh. Sin embargo, myScript.shno tiene una barra oblicua, por lo que el shell $PATHprimero lo busca. Este es el comportamiento estándar especificado por POSIX para .. La mayoría de los shells se configuran de manera predeterminada, aunque pueden agregar extensiones (como buscar en el directorio de trabajo actual después de la búsqueda de ruta) u opciones para cambiar el comportamiento de ./ source.