우분투 11.04 i& # 39 m, 실행. 내가 사용하는 배시 터미널 세션을 시작할 수 있는 환경 변수를 추가 보고 싶습니다.
$r@hajt:~$ env THEVAR=/example
그러나 it& # 39 의 작동안함. 하지만 다른 전화를 받고 있는 모든 변수에 트레버 보면 지난 1 - '환경' 쇼 '더 이상' 환경 '언약보다는 트레버 그렙 트레버 되돌려줍니다 아무것도아니야.'
마찬가지로, 스크립트 ('익스포트를 트레버 = / 예') 또는 기타 수출을 시작으로 변수값 지정 ('트레버 = / 예'), t # 39 don& 환경 변수를 추가합니다.
업데이트: 진짜 제꿈의 질문 이거였어요. https://stackoverflow.com/questions/496702/can-a-shell-script-set-environment-variables-of-the-calling-shell
(어쨌든 I& # 39, ll 고르십시오 대부분의 투표한 오토메이티드 그대로 두고 있는 것을 wasn& 편집됩니다 제목 - t # 39 해야 했다.)
'환경' 는 수정된 환경에서 관심용 닫고 프로그램에 모든 변경.
VARNAME="my value"
현재 쉘로 및 시작되어 현재 쉘로 모든 프로세스에 대한 설정할 수 있습니다.
export VARNAME="my value" # shorter, less portable version
향후 추가 bash 세션 등 모든 설정할 수 있습니다 * 있겠느 데이터베이스에구성원을 'HOME' 선 '에' $ 이바시르 파일 디렉터리입니다.
시스템 전반의 * 영구적으로 설정할 수 있으며, 모든 사용자 (모든 프로세스) 의 추가 / etc / 환경 변수 설정:
sudo -H gedit /etc/environment
이 파일만 변수값 지정 받아 다음과 같습니다.
VARNAME="my value"
여기서 '키워드' 익스포트를 사용하지 마십시오.
현행 로그아웃하려면 필요한 사용자 및 환경 변수 때문에 다시 로그인하십시오 변경되는지 수행됨
환경 변수를 설정할 수 있는 ',' 명령 프롬프트에서 사용할 수 없는 한 번 익스포트합니다 셸 스크립트입니다:
$ export THEVAR=/example
세션 또는 해제할 때까지 남은 쉘로 변수를 설정됩니다.
환경 변수를 설정하는 ',' 명령 '에서' 이바시르 익스포트합니다 everytime 사용하여 파일 (또는 해당 초기화하지 파일 단축시킵니다 쉘로).
환경 변수 설정 '에서' 다음 명령어를 사용하여 익스포트합니다 스크립트입니다 스크립트입니다 '원본' 이 스크립트입니다. 실행하면 스크립트입니다 작동하지 않습니다.
차이점은 대한 설명은 소싱 및 실행 이 슬라이드에서는 대답: # 176788 https://superuser.com/questions/176783/what-is-the-difference-between-executing-a-bash-script-and-sourcing-a-bash-script/176788
영구적으로 추가하기에서는 unbuntu 의 새로운 환경 변수 (테스트되었습니다 14.04 에서만), 다음 단계를 사용합니다.
/ Var 변경되는지 스크립트입니다 완료된 후 환경을 구축할 수 있도록 옛일에 소스 ./script.sh '또는' 약식 표기 사용해야 합니다,, 소스, " ." like '. ./script.sh '
소스 실행될 경우 이들을 입력되었는지 스크립트입니다 있는 명령을 있다. 그래서 않니다 변경 등 일부 애스펙트를 스크립트입니다 종료하십시오. 그래서 뭔가 스크립트입니다 검사를 통해 결정할 경우, 예를 들어, '0' 과 종료하십시오 거짓값 경우, 현재의 터미널 세션을 / 쉘로 종료시킵니다 호출하십시오 종료하십시오 것입니다.
환경 변수 설정 방법을 통해 손쉽게 접근할 수 있도록 한 경우, 업무를 수행하는 것을 스크립트입니다 있겠느 는 아래 동일팔레트에 기술서임을 스크립트에서,
if [[ ! -d "$MyVar" ]]; then
export MyVar="abc"
echo 'export MyVar="abc"' >> ~/.bashrc
fi
Pwd 표현식에서는 에바루이지 할 경우, 예를 들어, 이 같은 사용할 수 있습니다.
echo "export EIGEN_ROOT=\"$(pwd)/eigen\"" >> ~/.bashrc
를 사용하여 /etc/bash.bashrc '오픈' 나노 (사용할 수 있습니다 있는모든 편집기에는, 내가 포지셔닝하십시오 비활성으로 tpc. it& # 39 의 사용자 편의성을 최악의 측면에서 볼 때, 아무것도 개인).
덮어쓰기/추가 file:
'익스포트를 VAR = 경로 = $ PATH:/bin 익스포트를 경로 ' 3) (나으뇨 튀어오름 수 있다면 이 기입란) 또는 단순히 '오픈 SSH 세션 및 확인입니다 env& 사용하여 새로운 # 39. 함장님이요
이를 위해 각 사용자에게 신앙이니라 운영까지도 따로 설정을 변경할 수 있습니다 (스크립팅된) '에서' 파일을 /.bashrc 이바시르 '~' (또는 '새' / home / $ USER/ 경우 리눅스 시스템)