Bu ortam değişkeni nerede ayarlanır?


10

Ne zaman bir terminal açın ben bu değişken kümesi var:

$ echo $http_proxy
http://127.0.0.1:8888/

Bu değişken nerede ayarlanıyor? Ben kontrol ettim .bashrc, .bash_profile, /etc/bash.bashrcve /etc/environmentve hiçbir yerde var orada ?!

Ayrıca ağ bölümündeki Sistem Ayarları'na baktım ve proxy boş.

Yanıtlar:


17

İçin bashvadede:

PS4='+$BASH_SOURCE> ' BASH_XTRACEFD=7 bash -xl 7> /tmp/mylog

sonra kullan

grep "http_proxy=" /tmp/mylog

aramak için.

Aramayı daha iyi bir sonuçla /homeve /etcdaha iyi bir sonuç için de sınırlandırabilirsiniz :

$ grep "http_proxy=" /tmp/mylog | grep -e /home -e /etc
++/home/ravexina/.bashrc> http_proxy=http://test:80

yani benim ayarlandığım anlamına gelir ~/.bashrc.

kaynak


6

Esasen göre İstediğin şeyin kopyası üzerinde Unix & Linux sitesinde , bu sorunu yaklaşım yollarından birkaç nokta vardır:

  1. Kullanım envkomut ve değişkenler oluşturuldukları sırayı gözlemlemek ve önceki kullanım ve sonraki değişkenler değişken gelmiş olabilir nerede kaba bir fikir edinmek için
  2. set -xher dosyanın ne yaptığını görmek için dosyanın başında ve sonunda komutla araştırmaya çalıştığınız dosyaları kaydırın ; potansiyel olarak bu dosyalar diğer dosyaları kaynak olarak kullanır ve set -xkaynakların nerede oluştuğunu açıkça belirtmelidir
  3. Ana klasörünüzde olabilecek dosyalardan bazılarını find -type f -exec grep 'VARIABLE_NAME' {} \;yalnızca veya sadece geçerek düşünün grep -rI 'VARIABLE'. Bu zaman alıcıdır, bu yüzden en iyi sonuç olmayabilir, ama hey - eğer kolay yöntemler yoksa, zor olanları bir kenara bırakmamalıyız.
  4. strace -v -s 10000 -e execve,open,read bashNelerin okunduğunu ve önceki open()çağrının ne olduğunu çalıştırın ve gözlemleyin . Bu, 2&>1 > output_trace.txtdaha sonra okumak ve belki de yeniden yönlendirmek için faydalı olabilir grep. Kaynak
  5. .Bashrc, .bash_profile, /etc/bash.bashrc ve / etc / ortamından bahsettiniz. Ayrıca şunları da kontrol etmeniz gerekir:

    • /etc/profile
    • /etc/profile.d/*
    • ~/.profile(yalnızca a'nız yoksa ~/.bash_profile)
    • ~/.bash_login
  6. Arch Wiki'ye göre , bazı programlar wgetbu değişkeni kullanıyor. Dosya .wgetrcveya /etc/wgetrcdosya olup olmadığını kontrol edin . Bu orada ayarlanmış olabilir, ancak kaynaklandığı yerde bashbaşka bir gizem olsa da



0

gnome-terminal kendisi (yani, bu davranış ikili kodlanır) bu değişkenlerin bazılarını GNOME çapında ayar değerlerine göre ayarlar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.