2014년 7월 22일 화요일

ssh remote command

ssh user@host run.sh

Non-interactive shell 을 실행한다. 이 방법은 환경변수를 로드하지 않는다.

경우에 따라서 원격 서버의 환경변수를 읽어야 하는 경우가 있는데, 아래는 Interactive shell 을 실행하는 방법으로 환경변수가 함께 로드된다.

ssh user@host bash --login run.sh

또는

ssh user@host . /etc/profile; . ~/.profile; run.sh

단, 환경변수가 /etc/profile, ~/.bash_profile, ~/.bash_login 또는 ~/.profile 등의 파일에 정의되어 있어야 한다.

환경변수를 읽어서 운영 환경인지, 스테이징 환경인지, 개발 환경인지 구분하여 다른 처리를 하고자 할때 유용하다.


댓글 1개:

  1. export LANG="ko_KR.UTF-8"
    export LC_ALL="ko_KR.UTF-8"

    위와 같은 캐릭터셋 및 로케일 설정도 .bashrc 파일에 설정하지 않고 .bash_profile 이나 .profile 파일에 설정하여 원격 쉘 실행시 참조되도록 할 수 있다.

    답글삭제