![Linux에서 특정 TTYn에 로그인한 후 (영구) 기본 쉘을 변경하는 방법은 무엇입니까?](https://linux55.com/image/127345/Linux%EC%97%90%EC%84%9C%20%ED%8A%B9%EC%A0%95%20TTYn%EC%97%90%20%EB%A1%9C%EA%B7%B8%EC%9D%B8%ED%95%9C%20%ED%9B%84%20(%EC%98%81%EA%B5%AC)%20%EA%B8%B0%EB%B3%B8%20%EC%89%98%EC%9D%84%20%EB%B3%80%EA%B2%BD%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
chsh
이 명령이 설치된 쉘 간에 사용자의 로그인 쉘을 전환하는 데 사용된다는 것을 알고 있지만 작동합니다.에도 불구하고로그인 소스(tty1, tty2, ssh,...). 내가 달성하고 싶은 것은 csh
tty7에서 로그인하고 bash
다른 모든 로그인 소스에 로그인하는 것입니다.
이것이 가능합니까?
답변1
다신 안 돼.
아니요, 로그인 쉘은 사용자가 로그인한 TTY가 아니라 사용자에게 바인딩됩니다. 사용자는 하나의 특정 로그인 셸만 가질 수 있습니다.
예, 사용자는 모든 조건에 따라 로그인 쉘의 초기화 파일에서 다른 프로그램이나 유틸리티를 시작할 수 있습니다.
예를 들어, bash
현재 셸에 로그인한 사용자는 가상 터미널 7에 로그인했을 때 실행할 파일에 다음과 같은 내용을 추가할 수 있습니다 .bash_profile
.csh
case $(tty) in
*/tty7) exec csh -l ;;
esac
exec csh -l
현재 쉘을 으로 대체하고 csh
로그인 쉘로 시작합니다.