Когда я открываю терминал, у меня есть эта переменная:
$ echo $http_proxy
http://127.0.0.1:8888/
Где установлена эта переменная? Я проверил .bashrc, .bash_profile, /etc/bash.bashrc и /etc/environment, и он там нигде!!
Я также посмотрел на «Системные настройки» в сетевом разделе, а прокси-сервер пуст.
Для запуска bash:
PS4='+$BASH_SOURCE> ' BASH_XTRACEFD=7 bash -xl 7> /tmp/mylog
используйте
grep "http_proxy=" /tmp/mylog
для поиска.
Вы также можете ограничить поиск /home и /etc для лучшего результата:
$ grep "http_proxy=" /tmp/mylog | grep -e /home -e /etc
++/home/ravexina/.bashrc> http_proxy=http://test:80
, что означает, что он был установлен в моем ~/.bashrc.
source
Для запуска bash:
PS4='+$BASH_SOURCE> ' BASH_XTRACEFD=7 bash -xl 7> /tmp/mylog
используйте
grep "http_proxy=" /tmp/mylog
для поиска.
Вы также можете ограничить поиск /home и /etc для лучшего результата:
$ grep "http_proxy=" /tmp/mylog | grep -e /home -e /etc
++/home/ravexina/.bashrc> http_proxy=http://test:80
, что означает, что он был установлен в моем ~/.bashrc.
source
Для запуска bash:
PS4='+$BASH_SOURCE> ' BASH_XTRACEFD=7 bash -xl 7> /tmp/mylog
используйте
grep "http_proxy=" /tmp/mylog
для поиска.
Вы также можете ограничить поиск /home и /etc для лучшего результата:
$ grep "http_proxy=" /tmp/mylog | grep -e /home -e /etc
++/home/ravexina/.bashrc> http_proxy=http://test:80
, что означает, что он был установлен в моем ~/.bashrc.
source
По сути, дубликат того, что вы просили в Unix & amp; Linux, существует несколько способов приблизиться к этой проблеме:
использовать команду env и наблюдать порядок, в котором были созданы переменные, и использовать предыдущие и следующие переменные, чтобы получить приблизительное представление о том, где переменная может взяты из файлов wrap, которые вы пытаетесь исследовать с помощью команды set -x в начале и конце файла, чтобы увидеть, что делает каждый файл; потенциально эти файлы ищут другие файлы, а set -x должны явно указывать, где происходит поиск источников. Просматривайте некоторые файлы, которые у вас могут быть в вашей домашней папке, через find -type f -exec grep 'VARIABLE_NAME' {} \; или только grep -rI 'VARIABLE'. Это отнимает много времени, поэтому может быть не лучшим результатом, но эй - если нет простых методов, нельзя откладывать жесткие. Запустите strace -v -s 10000 -e execve,open,read bash и наблюдайте, что читается и что представляет собой предыдущий вызов open(). Это может быть полезно при перенаправлении 2&>1 > output_trace.txt для чтения позже и, возможно, grep. Источник. Вы упомянули .bashrc, .bash_profile, /etc/bash.bashrc и / etc / environment. Вам также необходимо проверить: /etc/profile /etc/profile.d/* ~/.profile (только если у вас нет ~/.bash_profile) ~/.bash_login Согласно Arch Wiki, некоторые программы, такие как wget, используют эту переменную. Проверьте, есть ли у вас файл .wgetrc или /etc/wgetrc. Это может быть установлено там, хотя там, где он попадает в bash, это еще одна тайнаsudo grep -r http_proxy /etc
должен сделать трюк
gnome-terminal (т. е. это поведение жестко запрограммировано для двоичного) устанавливает некоторые из этих переменных на основе значений gsetting в масштабе GNOME.
sudo grep -r http_proxy /etc
должен сделать трюк
gnome-terminal (т. е. это поведение жестко запрограммировано для двоичного) устанавливает некоторые из этих переменных на основе значений gsetting в масштабе GNOME.
По сути, дубликат того, что вы просили в Unix & amp; Linux, существует несколько способов приблизиться к этой проблеме:
использовать команду env и наблюдать порядок, в котором были созданы переменные, и использовать предыдущие и следующие переменные, чтобы получить приблизительное представление о том, где переменная может взяты из файлов wrap, которые вы пытаетесь исследовать с помощью команды set -x в начале и конце файла, чтобы увидеть, что делает каждый файл; потенциально эти файлы ищут другие файлы, а set -x должны явно указывать, где происходит поиск источников. Просматривайте некоторые файлы, которые у вас могут быть в вашей домашней папке, через find -type f -exec grep 'VARIABLE_NAME' {} \; или только grep -rI 'VARIABLE'. Это отнимает много времени, поэтому может быть не лучшим результатом, но эй - если нет простых методов, нельзя откладывать жесткие. Запустите strace -v -s 10000 -e execve,open,read bash и наблюдайте, что читается и что представляет собой предыдущий вызов open(). Это может быть полезно при перенаправлении 2&>1 > output_trace.txt для чтения позже и, возможно, grep. Источник. Вы упомянули .bashrc, .bash_profile, /etc/bash.bashrc и / etc / environment. Вам также необходимо проверить: /etc/profile /etc/profile.d/* ~/.profile (только если у вас нет ~/.bash_profile) ~/.bash_login Согласно Arch Wiki, некоторые программы, такие как wget, используют эту переменную. Проверьте, есть ли у вас файл .wgetrc или /etc/wgetrc. Это может быть установлено там, хотя там, где он попадает в bash, это еще одна тайнаsudo grep -r http_proxy /etc
должен сделать трюк
gnome-terminal (т. е. это поведение жестко запрограммировано для двоичного) устанавливает некоторые из этих переменных на основе значений gsetting в масштабе GNOME.
По сути, дубликат того, что вы просили в Unix & amp; Linux, существует несколько способов приблизиться к этой проблеме:
использовать команду env и наблюдать порядок, в котором были созданы переменные, и использовать предыдущие и следующие переменные, чтобы получить приблизительное представление о том, где переменная может взяты из файлов wrap, которые вы пытаетесь исследовать с помощью команды set -x в начале и конце файла, чтобы увидеть, что делает каждый файл; потенциально эти файлы ищут другие файлы, а set -x должны явно указывать, где происходит поиск источников. Просматривайте некоторые файлы, которые у вас могут быть в вашей домашней папке, через find -type f -exec grep 'VARIABLE_NAME' {} \; или только grep -rI 'VARIABLE'. Это отнимает много времени, поэтому может быть не лучшим результатом, но эй - если нет простых методов, нельзя откладывать жесткие. Запустите strace -v -s 10000 -e execve,open,read bash и наблюдайте, что читается и что представляет собой предыдущий вызов open(). Это может быть полезно при перенаправлении 2&>1 > output_trace.txt для чтения позже и, возможно, grep. Источник. Вы упомянули .bashrc, .bash_profile, /etc/bash.bashrc и / etc / environment. Вам также необходимо проверить: /etc/profile /etc/profile.d/* ~/.profile (только если у вас нет ~/.bash_profile) ~/.bash_login Согласно Arch Wiki, некоторые программы, такие как wget, используют эту переменную. Проверьте, есть ли у вас файл .wgetrc или /etc/wgetrc. Это может быть установлено там, хотя там, где он попадает в bash, это еще одна тайна