J'ai essayé la commande suivante pour définir le proxy sur yaourt
:
export ALL_PROXY=http://proxy.example.com:8080
La question est de savoir comment désactiver le proxy sur yaourt
? En général, comment puis-je annuler la valeur d'une variable dans le shell actuel?
Pour supprimer une variable d'environnement, exécutez
unset ALL_PROXY
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 Shell, cela n'affecte pas les autres fenêtres Shell.
Si vous avez ajouté export ALL_PROXY=…
dans un fichier d'initialisation, supprimez-le de là.
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 démarrés par ce Shell, vous devez l'exporter, soit en exécutant export VAR
après la mission VAR=VALUE
ou en combinant les deux (export VAR=VALUE
).
Pour annuler la définition d'une variable liée dans bash, utilisez unset VARIABLE
(unset ALL_PROXY
dans ton cas). Cette commande supprime en fait la variable. Vous pouvez également définir la valeur d'une variable sur vide par
VARIABLE=
ou
VARIABLE=""
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
flag avec set
pour le forcer à traiter les variables non définies comme une erreur en remplaçant:
/home/user1> var=""
/home/user1> echo $var
/home/user1> set -u
/home/user1> echo $var
/home/user1> unset var
/home/user1> echo $var
-bash: var: unbound variable
Dans l'exemple ci-dessus, bash se plaint que var
n'est pas lié (après avoir supprimé sa valeur), ce qui est l'erreur attendue (notez que cela ne se produit pas dans la deuxième commande echo, ce qui signifie que var
a une valeur qui est empty
ou null
).