Estoy enfrentando un problema extraño. Tengo una máquina virtual con Solaris 11 e intento escribir algunos scripts de bash.
si, en el shell, escribo:
export TEST=aaa
y posteriormente ejecuta:
set
Veo correctamente una nueva variable de entorno llamada TEST cuyo valor es aaa. Sin embargo, si hago básicamente lo mismo en un script. cuando termina el script, no veo el conjunto de variables. Para hacer un ejemplo concreto, si en un archivo test.sh tengo:
#!/usr/bin/bash
echo 1: $TEST #variable not defined yet, expect to print only 1:
echo 2: $USER
TEST=sss
echo 3: $TEST
export TEST
echo 4: $TEST
imprime:
1:
2: daniele
3: sss
4: sss
y después de su ejecución, TEST no se establece en el shell. ¿Me estoy perdiendo de algo? Intenté exportar TEST = sss y la variable set / export por separado sin diferencia.
Para que sus variables sean visibles, necesita
source
el script que exporta sus variables. Verman source
.fuente
help source
en su lugar desea bash.