Linux에서 특정 TTYn에 로그인한 후 (영구) 기본 쉘을 변경하는 방법은 무엇입니까?

Linux에서 특정 TTYn에 로그인한 후 (영구) 기본 쉘을 변경하는 방법은 무엇입니까?

chsh이 명령이 설치된 쉘 간에 사용자의 로그인 쉘을 전환하는 데 사용된다는 것을 알고 있지만 작동합니다.에도 불구하고로그인 소스(tty1, tty2, ssh,...). 내가 달성하고 싶은 것은 cshtty7에서 로그인하고 bash다른 모든 로그인 소스에 로그인하는 것입니다.

이것이 가능합니까?

답변1

다신 안 돼.

아니요, 로그인 쉘은 사용자가 로그인한 TTY가 아니라 사용자에게 바인딩됩니다. 사용자는 하나의 특정 로그인 셸만 가질 수 있습니다.

예, 사용자는 모든 조건에 따라 로그인 쉘의 초기화 파일에서 다른 프로그램이나 유틸리티를 시작할 수 있습니다.

예를 들어, bash현재 셸에 로그인한 사용자는 가상 터미널 7에 로그인했을 때 실행할 파일에 다음과 같은 내용을 추가할 수 있습니다 .bash_profile.csh

case $(tty) in
    */tty7) exec csh -l ;;
esac

exec csh -l현재 쉘을 으로 대체하고 csh로그인 쉘로 시작합니다.

관련 정보