J'ai essayé la commande suivante pour activer le proxy yaourt
:
export ALL_PROXY=http://proxy.example.com:8080
La question est de savoir comment désélectionner le proxy yaourt
? En général, comment puis-je supprimer la valeur d'une variable dans le shell actuel?
unset ALL_PROXY
$ ALL_PROXY=http://proxy.example.com:8080 yaourt
suit : cela définira la variable d'environnement uniquement commande exécuter. Vous pouvez définir autant deFOO=bar BAZ=bat
variables que vous le souhaitez avant l'exécution de la commande.Réponses:
Pour supprimer une variable d'environnement, exécutez
Notez qu'une variable d'environnement ne prend effet que dans un programme et le programme qu'il lance. Si vous définissez une variable d'environnement dans une fenêtre de shell, cela n'affecte pas les autres fenêtres de shell.
Si vous avez ajouté
export ALL_PROXY=…
à un fichier d'initialisation, supprimez-le.Vous pouvez exécuter
export
sans argument pour voir quelles variables d'environnement sont définies dans le shell actuel.N'oubliez pas que pour rendre une variable shell disponible pour les programmes lancés par ce shell, vous devez l'exporter, soit en exécutant
export VAR
après l'affectation,VAR=VALUE
soit en combinant les deux (export VAR=VALUE
).la source
Désactiver une variable liée en bash
unset VARIABLE
(unset ALL_PROXY
dans votre cas). Cette commande supprime réellement la variable. Vous pouvez également définir la valeur d'une variable à vider parou
La différence est que les deux dernières commandes ne suppriment pas la variable. Vous pouvez voir la différence en utilisant le
-u
drapeau avecset
pour le forcer à traiter les variables non définies comme une erreur en remplaçant:Dans l'exemple ci-dessus, bash se plaint de
var
ne pas être lié (après avoir défini sa valeur), ce qui correspond à l'erreur attendue (notez que cela ne se produit pas dans la deuxième commande echo, ce qui signifie quevar
sa valeur estempty
ounull
).la source
unset
dans le script. La même chose s'applique.