Jeg har prøvd følgende kommando for å sette Proxy på yaourt:
export ALL_PROXY=http://proxy.example.com:8080
Spørsmålet er hvordan du deaktiverer proxyen på yaourt? Hvordan kan jeg generelt slå av verdien til en variabel i gjeldende skall?
Kommentarer
Svar
For å fjerne en miljøvariabel, kjør
unset ALL_PROXY
Merk at en miljøvariabel bare trer i kraft i et program og programmet det lanserer. Hvis du setter en miljøvariabel i ett skallvindu, påvirker det ikke andre skallvinduer.
Hvis du har lagt til export ALL_PROXY=… til en initialiseringsfil, fjern det derfra.
Du kan kjøre export uten argumenter for å se hvilke miljøvariabler som er satt i det nåværende skallet.
Husk at for å gjøre en skallvariabel tilgjengelig for programmene som er startet av det skallet, må du eksportere den, enten ved å kjøre export VAR etter oppgaven VAR=VALUE eller ved å kombinere de to (export VAR=VALUE).
Kommentarer
- Jeg tror det ' er ikke viktig at
export VARskjer etter oppgaven. Observer:sh -c 'export F; F=2; sh -c "echo F2=\$F"; echo F1=$F'skriver ut " F2 = 2 \ nF1 = 2 ". -
unsetkreves også for å fjerne assosiative bash-matriser (dvs. bash " hash-tabeller ", eller " dikterer "), slik denne veiledningen forklarer under seksjonen med tittelen " Tømning ": artificialworlds.net/blog/2012/10/17/… .
Svar
For å deaktivere en begrenset variabel i bash, bruk unset VARIABLE (unset ALL_PROXY i ditt tilfelle). Denne kommandoen sletter faktisk variabelen. Du kan også sette verdien til en variabel til å være tom ved
VARIABLE=
eller
VARIABLE=""
Forskjellen er at de to sistnevnte kommandoene ikke sletter variabelen. Du kan se forskjellen ved å bruke -u flagget med set for å tvinge den til å behandle de usettede variablene som en feil mens du erstatter:
/home/user1> var="" /home/user1> echo $var /home/user1> set -u /home/user1> echo $var /home/user1> unset var /home/user1> echo $var -bash: var: unbound variable
I eksemplet ovenfor klager bash over var er ubundet (etter at verdien er stengt) som er den forventede feilen (merk at dette ikke skjer i andre ekkokommando, noe som betyr at var har en verdi som er empty eller null).
Kommentarer
- hva om jeg har en variabel i shell-skriptfilen min, og jeg kilder den filen, hvordan skal jeg da deaktivere den?
- @Abhinav bruker
unseti skriptet. gjelder.
unset ALL_PROXY$ ALL_PROXY=http://proxy.example.com:8080 yaourtsom bare vil sette envvar for kommandokjøringen . Du kan sette så mangeFOO=bar BAZ=batvariabler som du vil før kommandoen skal kjøres.