@coffeMug może również zrobić z tego odpowiedź, możesz również rozważyć kradzież niektórych informacji stąd: stackoverflow.com/a/12263914/1081936
terdon
oprócz zaakceptowanej odpowiedzi, jeśli często uruchamiane jest polecenie, które używa zmiennej środowiskowej, której wolałbyś nie ustawiać lub zmieniać przez resztę sesji powłoki, możesz uruchomić ją w następujący sposób: $ ALL_PROXY=http://proxy.example.com:8080 yaourtustawi envvar tylko dla polecenie uruchomienia. FOO=bar BAZ=batPrzed uruchomieniem polecenia możesz wstawić tyle zmiennych, ile chcesz.
brak
Odpowiedzi:
112
Aby usunąć zmienną środowiskową, uruchom
unset ALL_PROXY
Zauważ, że zmienna środowiskowa działa tylko w programie i programie, który uruchamia. Jeśli ustawisz zmienną środowiskową w jednym oknie powłoki, nie wpłynie to na inne okna powłoki.
Jeśli dodałeś export ALL_PROXY=…do pliku inicjującego, usuń go stamtąd.
Możesz uruchomić exportbez argumentów, aby zobaczyć, jakie zmienne środowiskowe są ustawione w bieżącej powłoce.
Pamiętaj, że aby udostępnić zmienną powłoki programom uruchamianym przez tę powłokę, musisz ją wyeksportować, uruchamiając ją export VARpo przypisaniu VAR=VALUElub łącząc dwa ( export VAR=VALUE).
Aby rozbroić zmienną powiązaną w bash, użyj unset VARIABLE( unset ALL_PROXYw twoim przypadku). To polecenie faktycznie usuwa zmienną. Możesz także ustawić wartość zmiennej, która ma być pusta
VARIABLE=
lub
VARIABLE=""
Różnica polega na tym, że dwa ostatnie polecenia nie usuwają zmiennej. Różnicę można zobaczyć, używając -uflagi z, setaby zmusić ją do traktowania nieuzbrojonych zmiennych jako błędu podczas podstawiania:
W powyższym przykładzie bash narzeka, że nie varma związku (po rozbrojeniu jego wartości), co jest oczekiwanym błędem (zauważ, że nie dzieje się to w drugim poleceniu echa, co oznacza, że varma wartość, która jest emptylub null).
unset ALL_PROXY
$ ALL_PROXY=http://proxy.example.com:8080 yaourt
ustawi envvar tylko dla polecenie uruchomienia.FOO=bar BAZ=bat
Przed uruchomieniem polecenia możesz wstawić tyle zmiennych, ile chcesz.Odpowiedzi:
Aby usunąć zmienną środowiskową, uruchom
Zauważ, że zmienna środowiskowa działa tylko w programie i programie, który uruchamia. Jeśli ustawisz zmienną środowiskową w jednym oknie powłoki, nie wpłynie to na inne okna powłoki.
Jeśli dodałeś
export ALL_PROXY=…
do pliku inicjującego, usuń go stamtąd.Możesz uruchomić
export
bez argumentów, aby zobaczyć, jakie zmienne środowiskowe są ustawione w bieżącej powłoce.Pamiętaj, że aby udostępnić zmienną powłoki programom uruchamianym przez tę powłokę, musisz ją wyeksportować, uruchamiając ją
export VAR
po przypisaniuVAR=VALUE
lub łącząc dwa (export VAR=VALUE
).źródło
Aby rozbroić zmienną powiązaną w bash, użyj
unset VARIABLE
(unset ALL_PROXY
w twoim przypadku). To polecenie faktycznie usuwa zmienną. Możesz także ustawić wartość zmiennej, która ma być pustalub
Różnica polega na tym, że dwa ostatnie polecenia nie usuwają zmiennej. Różnicę można zobaczyć, używając
-u
flagi z,set
aby zmusić ją do traktowania nieuzbrojonych zmiennych jako błędu podczas podstawiania:W powyższym przykładzie bash narzeka, że nie
var
ma związku (po rozbrojeniu jego wartości), co jest oczekiwanym błędem (zauważ, że nie dzieje się to w drugim poleceniu echa, co oznacza, żevar
ma wartość, która jestempty
lubnull
).źródło
unset
w skrypcie. To samo dotyczy.