환경 변수를 추가 어떻게 합니까?

우분투 11.04 i& # 39 m, 실행. 내가 사용하는 배시 터미널 세션을 시작할 수 있는 환경 변수를 추가 보고 싶습니다.

$r@hajt:~$ env THEVAR=/example

그러나 it& # 39 의 작동안함. 하지만 다른 전화를 받고 있는 모든 변수에 트레버 보면 지난 1 - '환경' 쇼 '더 이상' 환경 '언약보다는 트레버 그렙 트레버 되돌려줍니다 아무것도아니야.'

마찬가지로, 스크립트 ('익스포트를 트레버 = / 예') 또는 기타 수출을 시작으로 변수값 지정 ('트레버 = / 예'), t # 39 don& 환경 변수를 추가합니다.

39 m, 해야 할 일을 그러니까말이야 I&, 뭔가 잘못 알고 있지만, 그냥 단순한 can& # 39, 어떻게 찾을 수 없다.

업데이트: 진짜 제꿈의 질문 이거였어요. https://stackoverflow.com/questions/496702/can-a-shell-script-set-environment-variables-of-the-calling-shell

(어쨌든 I& # 39, ll 고르십시오 대부분의 투표한 오토메이티드 그대로 두고 있는 것을 wasn& 편집됩니다 제목 - t # 39 해야 했다.)

'환경' 는 수정된 환경에서 관심용 닫고 프로그램에 모든 변경.

질문에 대한 의견 (5)
해결책
    • 만 세트를 가변으로 데 대해 현재 쉘로:
VARNAME="my value"

현재 쉘로 및 시작되어 현재 쉘로 모든 프로세스에 대한 설정할 수 있습니다.

export VARNAME="my value"      # shorter, less portable version
  • 향후 추가 bash 세션 등 모든 설정할 수 있습니다 * 있겠느 데이터베이스에구성원을 'HOME' 선 '에' $ 이바시르 파일 디렉터리입니다.

  • 시스템 전반의 * 영구적으로 설정할 수 있으며, 모든 사용자 (모든 프로세스) 의 추가 / etc / 환경 변수 설정:

sudo -H gedit /etc/environment

이 파일만 변수값 지정 받아 다음과 같습니다.

VARNAME="my value"

여기서 '키워드' 익스포트를 사용하지 마십시오.

현행 로그아웃하려면 필요한 사용자 및 환경 변수 때문에 다시 로그인하십시오 변경되는지 수행됨

해설 (7)

환경 변수를 설정할 수 있는 ',' 명령 프롬프트에서 사용할 수 없는 한 번 익스포트합니다 셸 스크립트입니다:

$ 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

해설 (1)

영구적으로 추가하기에서는 unbuntu 의 새로운 환경 변수 (테스트되었습니다 14.04 에서만), 다음 단계를 사용합니다.

  1. 오픈 터미널 (눌러 &lt, kbd&gt, Ctrl&lt, /kbd&gt, <;;;;;; T&lt kbd&gt Alt&lt /kbd&gt &lt kbd&gt /kbd>) gedit / etc / 환경 'H' sudo - 2.
  2. 비밀번호를 입력하고
  3. 텍스트 파일을 편집하여 그냥 문을 열었다. 예를 들어 '쓰기' 그냥 'FOO = 표시줄에는 추가할 경우 관심용 FOO = 표시줄에는' 의 새로운 라인
  4. 저장합니다.
  5. 저장된 잠금 및 다시 로그인하십시오.
  6. 요구 사항을 변경할 수 있습니다.
해설 (5)

/ Var 변경되는지 스크립트입니다 완료된 후 환경을 구축할 수 있도록 옛일에 소스 ./script.sh '또는' 약식 표기 사용해야 합니다,, 소스, &quot .&quot like '. ./script.sh '

소스 실행될 경우 이들을 입력되었는지 스크립트입니다 있는 명령을 있다. 그래서 않니다 변경 등 일부 애스펙트를 스크립트입니다 종료하십시오. 그래서 뭔가 스크립트입니다 검사를 통해 결정할 경우, 예를 들어, '0' 과 종료하십시오 거짓값 경우, 현재의 터미널 세션을 / 쉘로 종료시킵니다 호출하십시오 종료하십시오 것입니다.

해설 (3)

환경 변수 설정 방법을 통해 손쉽게 접근할 수 있도록 한 경우, 업무를 수행하는 것을 스크립트입니다 있겠느 는 아래 동일팔레트에 기술서임을 스크립트에서,

if [[ ! -d "$MyVar" ]]; then 
    export MyVar="abc"
    echo 'export MyVar="abc"' >> ~/.bashrc
fi

Pwd 표현식에서는 에바루이지 할 경우, 예를 들어, 이 같은 사용할 수 있습니다.

echo "export EIGEN_ROOT=\"$(pwd)/eigen\"" >> ~/.bashrc
해설 (0)

39 의 꽤 늦게 그러니까말이야 it& 신앙이니라 추가할 환경 변수 (예를 들면 jave 사용) - 모든 사용자에 대해 다음과 같이 할 수 있습니다.

  1. 를 사용하여 /etc/bash.bashrc '오픈' 나노 (사용할 수 있습니다 있는모든 편집기에는, 내가 포지셔닝하십시오 비활성으로 tpc. it& # 39 의 사용자 편의성을 최악의 측면에서 볼 때, 아무것도 개인).

  2. 덮어쓰기/추가 file:

'익스포트를 VAR = 경로 = $ PATH:/bin 익스포트를 경로 ' 3) (나으뇨 튀어오름 수 있다면 이 기입란) 또는 단순히 '오픈 SSH 세션 및 확인입니다 env& 사용하여 새로운 # 39. 함장님이요

이를 위해 각 사용자에게 신앙이니라 운영까지도 따로 설정을 변경할 수 있습니다 (스크립팅된) '에서' 파일을 /.bashrc 이바시르 '~' (또는 '새' / home / $ USER/ 경우 리눅스 시스템)

해설 (0)