SSH를 통해 Linux에서 환경 변수 설정

SSH를 통해 Linux에서 환경 변수 설정

저는 세 가지 다른 문제를 해결하고 있으므로 소스 코드를 세 가지 다른 디렉토리에 복제했습니다.

1) /nobackup/vivek/dev1/<source_code>..
2) /nobackup/vivek/dev2/<source_code>..
3) /nobackup/vivek/dev3/<source_code>..

.bashrc신속하게 해당 모듈로 이동할 수 있도록 파일의 몇 가지 모듈에 대해 여러 별칭을 만들었습니다 . 나는 환경 변수라는 이름을 사용했는데, CDR그 값은 내가 작업 중인 문제와 디렉터리 에 따라 dev1달라질 수 있습니다.dev2dev3

.bashrc내 파일에 있는 별칭 중 하나의 예

alias acl='cd /nobackup/vivek/$CDR/<source_code>../acl'

이제 환경 변수의 값을 수동으로 변경해야 합니다. 예를 들어, 문제 번호를 처리하고 싶다면 3 그런 다음 환경 변수 CDRdev3.

export CDR=dev3. 

문제가 없기 때문입니다. 3. dev3ie 폴더 에 있어야 해요/nobackup/vivek/dev3/<source_code>..

마찬가지로, 문제 번호를 풀고 있다면. 1 또는 2 환경 변수를 수동으로 내보내야 합니다 dev1.dev2

export CDR=dev1 or export CDR=dev2

CDRSSH 자체에서 환경 변수를 설정하고 싶습니다. 작업을 수행하기 위해 다음 명령을 시도했습니다.

ssh -t [email protected] 'export CDR=dev1'
or
ssh -t [email protected] 'export CDR=dev2'

위 ssh 명령을 실행할 때 비밀번호를 입력하면 연결이 종료됩니다.

[이메일 보호됨]비밀번호:
122.11.33.21에 대한 연결이 닫혔습니다.

누구든지 나를 도와줄 수 있나요? 왜 연결이 종료되었는지 모르겠습니다. 로그인 시 환경 변수를 설정하는 다른 방법이 있습니까?

답변1

bash표준 구성 파일, rc 파일 등도 로드되도록 하기 위해(또는 선호하는 셸)(또는 선호하는 셸)을 로그인 셸로 시작하려고 합니다 .

ssh -t user@server "export var=VALUE ; bash -l"

또는 @they가 지적했듯이 더 짧은 표기법

ssh -t user@server "var=VALUE bash -l"

그것도 할 것이다.

관련 정보