yaourt
에서 프록시를 설정하기 위해 다음 명령을 시도했습니다.
export ALL_PROXY=http://proxy.example.com:8080
문제는 yaourt
에서 프록시를 설정 해제하는 방법입니다. 일반적으로 현재 셸에서 변수 값을 설정 해제하려면 어떻게해야합니까?
코멘트
답변
환경 변수를 제거하려면 다음을 실행하십시오.
unset ALL_PROXY
환경 변수는 프로그램 및 프로그램에서만 적용됩니다. 시작합니다. 하나의 셸 창에서 환경 변수를 설정하면 “다른 셸 창에 영향을주지 않습니다.
초기화 파일에 export ALL_PROXY=…
를 추가 한 경우
인수없이 export
를 실행하여 현재 셸에 설정된 환경 변수를 확인할 수 있습니다.
해당 셸로 시작된 프로그램에서 셸 변수를 사용할 수 있도록하려면 할당 VAR=VALUE
후에 export VAR
를 실행하여 내 보내야합니다. 또는 둘을 결합하여 (export VAR=VALUE
).
댓글
- 그것 같아요 '는 할당 후에
export VAR
가 발생해야하는 필수는 아닙니다. 관찰 :sh -c 'export F; F=2; sh -c "echo F2=\$F"; echo F1=$F'
는 " F2 = 2 \ nF1 = 2 "를 인쇄합니다. -
unset
는 연관 bash 배열을 지우는데도 필요합니다 (예 : bash " 해시 테이블 " 또는 " dicts "),이 가이드는 " 삭제 " : artificialworlds.net/blog/2012/10/17/ … .
Answer
bash에서 바인딩 된 변수를 설정 해제하려면
(unset ALL_PROXY
). 이 명령은 실제로 변수를 삭제합니다.
VARIABLE=
또는
VARIABLE=""
차이점은 후자의 두 명령은 변수를 삭제하지 않는다는 것입니다. set
와 함께 -u
플래그를 사용하면 차이점을 확인할 수 있습니다. 대체하는 동안 설정되지 않은 변수를 오류로 처리하도록 강제하려면 :
/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
위의 예에서 bash는 var
는 예상 된 오류 인 바인딩 해제 (값 설정 해제 후)입니다 (두 번째 echo 명령에서는 발생하지 않습니다. 즉, var
의 값은
또는 null
).
댓글
- 쉘 스크립트 파일에 변수가 있고 해당 파일을 소싱 한 다음 설정을 해제하려면 어떻게해야합니까?
- @Abhinav 스크립트에서
unset
를 사용합니다. 적용됩니다.
unset ALL_PROXY
$ ALL_PROXY=http://proxy.example.com:8080 yaourt
명령 실행에 대해서만 envvar를 설정합니다. . 명령을 실행하기 전에 원하는만큼FOO=bar BAZ=bat
변수를 넣을 수 있습니다.