¿Cuál es la diferencia entre ejecutar un script como este?
./test.sh
y ejecutando un script como este:
. test.sh?
Intenté un script simple de dos líneas para ver si podía encontrar si había alguna diferencia:
#!/bin/bash
ls
Pero ambos . test.shy ./test.shdevolvieron la misma información.
test.shno es lo mismo que ./test.sh(el primero invoca una PATHbúsqueda), también lo es . test.shy es . ./test.shdiferente de la misma manera (el primero invoca una PATHbúsqueda). Muchas conchas parecen incluir implícitamente .al final de PATHcuando se hace una .búsqueda de ruta, pero este comportamiento no es estándar. Por lo tanto, es más exacto para comparar test.shvs . test.shy ./test.shvs . ./test.sh.