Pregunta:
Mientras sigo el tutorial de depuración de Android Eclipse, encuentro los siguientes comandos.
cd /path/to/android/root
. build/envsetup.sh
lunch 1
make
emulator
Mi problema es ¿qué significa el punto antes de build/envsetup.sh
?
Respuesta:
Un punto en ese contexto significa "obtener" el contenido de ese archivo en el shell actual. Con la source
sí misma como un comando integrado de shell. Y la source
y el operador de puntos son sinónimos.
Ejemplo
Digamos que tenía el siguiente contenido en un archivo sample.sh
.
$ cat sample.sh
echo "hi"
echo "bye?"
Ahora, cuando lo obtengo:
$ . sample.sh
hi
bye?
$
Archivos como este se utilizan a menudo para incorporar comandos de configuración, como agregar cosas a las variables de entorno.
Ejemplos de
Digamos que tengo estos comandos en otro archivo, addvars.sh
.
$ cat addvars.sh
export VAR1="some var1 string"
export VAR2="some var2 string"
Tenga en cuenta que no tengo ninguna variable en el entorno de mi shell actual.
$ env | grep VAR
$
Ahora, cuando obtengo este archivo:
$ . addvars.sh
$
Bien, no parece que haya hecho nada, pero cuando comprobamos las variables env
nuevo:
$ env | grep VAR
VAR1=some var1 string
VAR2=some var2 string