(5 respuestas)
Cerrado hace 6 años.
t
es un script simple
¿Qué es diferente entre los dos casos a continuación:
$ . t
y
$ ./t
Respuesta aceptada:
. t
no abrirá un nuevo shell para ejecutar t, por lo que todas las variables creadas o modificadas permanecerán después de la ejecución. Se buscará en $PATH, por lo que si desea ejecutar t desde la ruta en la que se encuentra ahora, el comando debería haber sido . ./t
./t
ejecutará t, que se encuentra en la ruta en la que estamos ahora, generando un shell para su ejecución.
Para aclarar un poco más. Supongamos que t contiene:
#!/bin/bash
data=hello
Después ejecutas ./t
puedes echo $data
desde la línea de comando y no obtendrá nada, pero si ejecuta . ./t
y ejecuta echo $data
recibirás un saludo en tu pantalla.