사이트에서이 질문을 아직 찾지 못했다는 것에 놀랐습니다. 오늘은 $
새 사용자로 로그인 한 후 나타납니다. 내 기본 사용자의 프롬프트가 [email protected]:~$
.
그렇다면이 다른 셸에서 bash로 어떻게 전환합니까?
알 수없는 쉘이 절대 명령 실행을 지원한다고 가정하면 /bin/bash
기본 셸을 변경하려면 chsh(1)
을 사용합니다. 샘플 사용법 : chsh -s /bin/bash $USER
bash
를 입력하십시오. 이것을 영구적으로하려면 /bin/bash
를 편집하여 기본 쉘을 /etc/passwd
로 변경하십시오.
내 /etc/passwd
의 일부 스 니펫은 다음과 같습니다.
avahi:x:84:84:Avahi daemon:/:/bin/false
xenoterracide:x:1000:100::/home/xenoterracide:/bin/zsh
postgres:x:88:88::/var/lib/postgres:/bin/zsh
bob:x:1001:1001::/home/bob:/bin/bash
usbmux:x:140:140:usbmux user:/:/sbin/nologin
마지막 필드에는 셸이 포함됩니다. 마지막 :
뒤의 필드를 유효하거나 유효하지 않은 셸로 수정하면 작동합니다. /bin/false
와 /sbin/nologin
는 모두 사용자가 실제 로그인 쉘을 가지고 있지 않다는 것을 의미하지만, pam이 올바르게 설정되지 않았다고해서 로그인 할 수 없다는 것을 의미하지는 않습니다. 로그인 셸없이 그래픽으로 로그인 할 수 있기 때문에 이것은 아치 리눅스에서 가능합니다). /bin/bash
및 /bin/zsh
는 모두 유효한 쉘입니다. 시스템에서 유효한 쉘 목록은 /etc/shells
를 참조하십시오. 관심이 있다면 /etc/shells
입니다.
/bin/sh
/bin/bash
/bin/ksh
/bin/zsh
/bin/dash
예, chsh
또는 usermod
를 사용하여 동일한 작업을 수행 할 수 있습니다. 이러한 파일은 구조화 된 텍스트 파일이며 TIMTOWTDI입니다.
chsh 또는 수동으로 구성을 편집해도 작동하지 않지만 로그인시 ~/.profile 스크립트가 실행되면 다음 행을 추가하십시오.
exec /bin/bash --login