Quelqu'un peut-il me dire quelle est la bonne façon de définir un groupe de variables d'environnement dans la coquille de poisson?
Dans mon fichier .config / fish / config.fish, j'ai une fonction pour configurer mes variables d'environnement comme ceci
function setTESTENV
set -x BROKER_IP '10.14.16.216'
set -x USERNAME 'foo'
set -x USERPASS 'bar'
end
lorsque je tape à partir de l'invite de commande setTESTENV
et que je fais un env
dans la ligne de commande, je ne vois pas ces informations.
fishd.MACHINE_ID
, mais ont été enregistrées dans~/.config/fish/fish_variables
~/.config/fish/fish_variables
sur ubuntu 20.04une autre option consiste à exécuter:
export (cat env_file.txt |xargs -L 1)
où env_file.txt contient des lignes au format
VAR=VALUE
cela a l'avantage de conserver les variables dans un format pris en charge par d'autres shells et outils
la source
export (grep "^[^#]" .env |xargs -L 1)
Variables d'environnement chez les poissons
Je voudrais ajouter que, bien que la réponse de @ JosEduSol ne soit pas incorrecte et aide à résoudre le problème OP, elle
-g
ne fait que définir la portée pour qu'elle soit globale, tout en-x
provoquant l'exportation de la variable d'environnement spécifiée vers les processus enfants.La raison pour laquelle ce qui précède échoue, est que @cfpete définit les variables d'environnement dans une fonction et que la portée par défaut sera locale pour cette fonction.
la source