.bashrc 스크립트를 무시하기 위한 SSH 매개변수

.bashrc 스크립트를 무시하기 위한 SSH 매개변수

.bashrc시작 시 다음 줄을 실행 하는 서버가 있습니다 /bin/watch ~/checker.bash. 예상대로 서버가 시작될 때 명령을 모니터링합니다.

또한 해당 컴퓨터에 클라이언트가 로그인되어 있지만 클라이언트 세션이 .bashrc.

환경 변수 전달을 조사했지만 AcceptEnv서버를 구성해야 하는데 이를 피하고 싶습니다.

또한 다른 사용자에 대해 .bashrc두 개의 다른 사용자 계정을 갖고 싶지 않습니다.

이 문제에 접근할 수 있는 다른 각도가 있습니까?

답변1

두 가지 방법:

이 세션에서는 bash를 사용하지 말고 대시(또는 /bin/sh)를 사용해 보십시오.

ssh 127.0.0.1 /bin/dash

시작 파일 처리를 비활성화하려면 명령 옵션과 함께 bash를 사용하십시오.

ssh 127.0.0.1 "bash --noprofile --norc"

답변2

.bashrc호출이 실패한 경우에만 부품을 활성화할 수 있습니다 ssh.

예를 들어:

# within an SSH-session, ${SSH_TTY} will be set
if [ "x${SSH_TTY}" = "x" ]; then
  /bin/watch ~/checker.bash
fi

답변3

/bin/watch.... 라인을 다음으로 바꿀 수 있습니다.

 if ps ax | grep /bin/watch | grep -v grep  > /dev/null 2>&1
 then
    echo "Nothing to do"
 else
    /bin/watch ~/checker.bash
 fi

또는 그런 것.

관련 정보