set-proxy.sh ishga tushirilganda terminalingiz nima uchun o'zgarmaydi
Ishga tushirilgan skript o'zgaruvchilarni ota shellga qaytarib eksport qila olmaydi. Joriy shell sozlamalarni saqlab qolishi kerak bo'lsa, ishonchli konfiguratsiya faylini source qiling.
Skriptingizda to'g'ri export https_proxy=... qatori bor. Uni ishga tushirasiz, keyingi buyruq esa hali ham eski proxy'ni ko'radi. Skript o'z jarayoni ichida benuqson ishlagan bo'lishi mumkin.
Skriptni ishga tushirish alohida shell boshlaydi. U o'zi boshlagan buyruqlarga o'zgaruvchilarni uzatishi mumkin, lekin tugagach ota terminal shell muhitini almashtira olmaydi.
./set-proxy.sh
. ./set-proxy.sh
Bular har xil amallar. Ikkinchisi faylni joriy shellda o'qish uchun shellning dot ichki buyrug'idan foydalanadi. Bash buni source deb ham ataydi; ichki buyruqlar ma'lumotnomasiga qarang.
Faqat ishonch bildirgan faylingizni source qiling, chunki uning barcha shell buyruqlari shu joriy muhitda bajariladi. Agar proxy faqat skript ichidagi buyruqlar uchun kerak bo'lsa, oddiy ishga tushirish to'g'ri chegara. Bitta tashqi buyruq uchun buyruq bilan cheklangan proxy tayinlash joriy shellni o'zgartirishdan saqlaydi.
O'zgaruvchi tayinlashlarini so'zma-so'z saqlang. Backtick buyruq almashtirishni bildiradi, iqtibos emas. Proxy tayinlaydigan qator o'z URL manzilini tasodifan bajarishga urinmasligi kerak. Ommaviy oxirgi nuqtani tanlash uchun mo'ljallangan qiymatlar uchun bepul proxy ro'yxati protokoli mijozga mos kelishi kerak bo'lgan nomzodlarni taqdim etadi. Nihoyat, haqiqiy tarmoq mijozi o'qiydigan o'zgaruvchi nomlarini tekshiring; shell doirasini tuzatish qo'llab-quvvatlanmaydigan o'zgaruvchini samarali qilmaydi.