2013-12-20 2 views
6

나는 여러 프로젝트가 있으며 각 세션 내에서 환경 변수를 사용하여 해당 프로젝트에 특정한 값으로 설정하는 많은 스크립트가있는 상황에서 작업합니다.TMUX 설정 세션을위한 환경 변수

내가하고 싶은 것은 각 프로젝트마다 별도의 tmux 세션을 사용하고 변수를 설정하여 해당 세션의 모든 창에 대해 설정되도록하는 것입니다.

-g 옵션을 사용하여 작동하지만 그 서버에 연결된 모든 세션의 변수를 설정하는 환경 설정 옵션을 사용하려고했습니다.

-g 옵션을 사용하지 않으면 show-environment를 사용할 때 해당 세트를 볼 수 있지만 쉘의 변수에는 액세스 할 수 없습니다.

누구나 해결 방법이 있습니까? TMUX 1.8 tcsh를 사용

답변

4
당신은 TMUX에 액세스 할 수 있습니다

각 세션 (로컬) 환경 변수, 세션에있는 동안 명령 :

bash> tmux show-environment 

당신은 -g 매개 변수를 추가하는 경우 모든 세션, 즉 지구 환경을위한 환경을 확보하십시오. 로컬 환경은 글로벌 환경과 동일하지 않습니다. 이전 명령은 인쇄 전체 지역의 환경을,하지만 당신은 단지 하나 개의 변수를 볼 수 있습니다 :

bash> tmux show-environment variable_name 
      variable_name=value 

, 당신은 일부 '나오지도'마법을 사용할 수있는 값을 얻거나 하나의 변수에 '수출'을 사용 또는 쉘 전체 환경을 '내보내기'할 수도 있습니다. 아래는 3 가지 방법입니다.

bash> tmux show-environment variable_name | sed "s:^.*=::" 
     value 

bash> eval "export $(tmux show-environment variable_name)" 
bash> echo $variable_name 
     value  

bash> for var in $(tmux show-environment | grep -v "^-"); do eval "export $var"; done; 
bash> echo $variable_name 
     value  

글로벌 환경에 액세스하려면 show-environment 명령 다음에 -g 매개 변수를 추가하면됩니다. 나는 나에게 해당 세션 내부의 모든 창에서 MY_VAR에 대한 액세스를 제공하는 TMUX 세션을 시작하기 전에

4

나는 간단한

export MY_VAR="some value" 

을했습니다.

+0

tmux를 시작할 때마다이 작업을 수행하면 어떨까요? – holms