화면 이름별로 환경 변수를 설정하는 방법

화면 이름별로 환경 변수를 설정하는 방법

저는 시스템에서 여러 화면을 사용하고 작업 중인 각 지점에 대해 별도의 세션을 사용합니다. 이제 화면 이름을 기준으로 환경 변수를 설정하려고 합니다(분기 경로별로 화면 이름을 지정했습니다). 나는 이것을 시도했습니다 ~/.screenrc:

screen -t "ABC-1234" bash -ic 'OUTPUTROOT=/home/me/src/NextGen/branches/ABC-1234/bin'
screen -t "ABC-1234" bash -ic 'SVN_ROOT=/home/me/src/NextGen/branches/ABC-1234'
screen -t "DEF-5678" bash -ic 'OUTPUTROOT=/home/me/src/NextGen/branches/DEF-5678/bin'
screen -t "DEF-5678" bash -ic 'SVN_ROOT=/home/me/src/NextGen/branches/DEF-5678'

하지만 작동하지 않는 것 같습니다. 화면이 "ABC-1234" 또는 "DEF-5678"이고 다음을 Ctrl-a c사용하여 새 창을 열면... 환경 변수가 설정되지 않습니다.

답변1

쉘 스크립트에서 화면을 실행하기만 하면 됩니다:

#!/bin/sh
SVN_ROOT=/home/me/src/NextGen/branches/ABC-1234 OUTPUTROOT=$SVN_ROOT/bin screen -dm -t "ABC-1234"
SVN_ROOT=/home/me/src/NextGen/branches/DEF-5678 OUTPUTROOT=$SVN_ROOT/bin screen -dm -t "DEF-5678" 

관련 정보