Де визначено змінну bash (проксі)


1

У мене є проблема, wgetі я виявив, що мої налаштування проксі невірні:

$ env | grep "proxy"
http_proxy=http://213.181.73.145:80
https_proxy=http://213.181.73.145:80

Отже, коли я намагаюся щось завантажити wget, не вдається спроби підключитися до проксі, а також не намагаюся підключитися до веб-ресурсу, який мені потрібно завантажити.

Але в суперпользовательском режимі все правильно:

$ sudo su
$ env | grep "proxy"
$

(порожній вихід, немає проксі)

Хочу знати, де знаходяться ці змінні параметри, і я знайшов багато проблем. Наступний рядок я додав до початку свого /etc/profile:

env | grep "proxy"
echo "Hello"

І мене дивує, що обидві змінні - це налаштування з тими самими значеннями перед завантаженням будь-якого файлу конфігурації (/ etc / bashrc, ~ / .bashrc тощо):

(new terminal)
http_proxy=http://213.181.73.145:80
https_proxy=http://213.181.73.145:80
Hello
$

Більше того, я працюю guake. Отже, я спробував те ж саме із загальним терміналом, і для мене це здивувало (я думаю) файл /etc/profileне завантажений, оскільки я не бачу ні проксі-рядки, але ні echo "Hello"повідомлення.

Отже, я хотів би знати, як можливо, що http_proxyі https_proxyвизначаються перед завантаженням, /etc/profileі чому я не бачу повідомлення "Привіт", коли я відкриваю загальний термінал.

Відповіді:


0

Повідомлення не відображається, коли ви відкриваєте "звичайний" термінал, оскільки /etc/profileвін зчитується лише для оболонок входу, "нормальний" термінал запускає інтерактивну оболонку, яка не входить у систему. Дивіться мою відповідь тут для отримання додаткової інформації.

Тепер я не знаю, де встановлено ваше http_proxy. Залежно від того, яка саме ваша установка, це може бути в різних місцях. Спробуйте це:

grep http_proxy /etc/bash.bashrc /etc/profile ~/.bashrc ~/.bash_login ~/.profile ~/bash_profile

Змінна повинна бути встановлена ​​в одному з цих файлів.


0

Деякий файл, який запускається при запуску оболонки, встановлює змінні середовища, такі як ~ / .bashrc, ~ / .bash_profile або /etc/bash.bashrc

Щоб зняти проксі-змінну, вам не потрібно змінювати жоден файл! Все, що вам потрібно зробити - це скористатися командою 'unset'!

$ unset http_proxy
$ unset https_proxy

Тепер цих змінних середовища немає! Якщо ви не можете відстежити, де вони встановлені, ви можете додати це до кінця ~ / .bashrc і скасувати їх для кожної оболонки. Якщо ви перевірите його ще раз:

$ env | grep proxy
[nothing]

Ви побачите, що вони пішли!


Але ключовим питанням є те, що ця змінна встановлюється перед завантаженням будь-якого файлу конфігурації. Питання в тому, де можна встановити змінну перед / etc / profile.
Peregring-lk
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.