Ինչու set-proxy.sh-ի գործարկումը չի փոխում ձեր տերմինալը
Գործարկված սկրիպտը չի կարող փոփոխականները հետ արտահանել իր մայր shell: Երբ ընթացիկ shell-ը պետք է պահպանի կարգավորումները, source արեք վստահելի կոնֆիգուրացիոն ֆայլը։
Ձեր սկրիպտը պարունակում է ճիշտ export https_proxy=... տողը։ Գործարկում եք այն, և հաջորդ հրամանը դեռ տեսնում է հին proxy-ն։ Հնարավոր է՝ սկրիպտն անթերի աշխատել է իր իսկ պրոցեսի ներսում։
Սկրիպտի գործարկումը սկսում է առանձին shell։ Այն կարող է փոփոխականներ փոխանցել իր սկսած հրամաններին, բայց չի կարող փոխարինել ծնող տերմինալ shell-ի միջավայրը դուրս գալուց հետո։
./set-proxy.sh
. ./set-proxy.sh
Սրանք տարբեր գործողություններ են։ Երկրորդը օգտագործում է shell-ի dot ներկառուցված հրամանը՝ ֆայլը ընթացիկ shell-ում կարդալու համար։ Bash-ը դա անվանում է նաև source. տես ներկառուցված հրամանների տեղեկանքը։
Source արեք միայն այն ֆայլը, որին վստահում եք, որովհետև նրա բոլոր shell հրամանները գործում են այդ ընթացիկ համատեքստում։ Եթե proxy-ն անհրաժեշտ է միայն սկրիպտի ներսի հրամաններին, ապա սովորական գործարկումը ճիշտ սահմանն է։ Մեկ արտաքին հրամանի համար հրամանով սահմանափակված proxy վերագրումը խուսափում է ընթացիկ shell-ը փոխելուց։
Փոփոխականների վերագրումները պահեք բառացի։ Backtick-երը նշանակում են հրամանի փոխարինում, ոչ մեջբերում։ Proxy վերագրող տողը չպետք է պատահաբար փորձի գործարկել իր URL-ը։ Հանրային վերջնակետ ընտրելու համար նախատեսված արժեքների համար անվճար proxy-ների ցանկը տալիս է թեկնածուներ, որոնց արձանագրությունը պետք է համապատասխանի հաճախորդին։ Վերջում ստուգեք այն փոփոխականների անունները, որոնք կարդում է իրական ցանցային հաճախորդը. shell-ի սահմանի ուղղումը չի դարձնում չաջակցվող փոփոխականն արդյունավետ։