variable restaurar permanentes entorno crear comando shell fish

shell - restaurar - variables de entorno linux



Cómo establecer variables de entorno en la concha de pescado (4)

¿Puede alguien decirme cuál es la forma correcta de establecer un montón de variables de entorno en la concha de pescado?

En mi archivo .config / fish / config.fish, tengo una función para configurar mis variables de entorno de esta manera

function setTESTENV set -x BROKER_IP ''10.14.16.216'' set -x USERNAME ''foo'' set -x USERPASS ''bar'' end

cuando setTESTENV desde el símbolo del sistema setTESTENV y hago un env en la línea de comando, no veo esta información.


Usar variables universales

Si la variable tiene que ser compartida entre todas las instancias actuales de peces de usuario en la computadora actual y preservada en los reinicios del shell, debe usar -U o --universal :

set -Ux FOO bar

El uso de set with -g o --global no establece la variable de forma persistente entre instancias de shell


Las variables que está declarando se mantienen en un ámbito local dentro de su función.

Utilizar:

set -g -x

Aquí " g " es para global.


Otra opción es ejecutar:

export (cat env_file.txt |xargs -L 1)

donde env_file.txt contiene filas del formato VAR=VALUE

Esto tiene la ventaja de mantener las variables en un formato compatible con otros shells y herramientas.


Variables de entorno en peces

Me gustaría agregar que, aunque la respuesta de @ JosEduSol no es incorrecta y ayuda a resolver el problema de OP, -g solo establece el alcance como global, mientras que -x hace que la variable de entorno especificada se exporte a procesos secundarios.

La razón por la que falla lo anterior es porque @cfpete está configurando los valores del entorno dentro de una función y el alcance predeterminado será local para esa función.