Centos의 기본 스크립트 셸이 무엇인지 어떻게 알 수 있나요?

Centos의 기본 스크립트 셸이 무엇인지 어떻게 알 수 있나요?

저는 Centos 6을 사용하고 있으며 Debian, Ubuntu 및 Fedora에서 sh 대체품으로 다양한 쉘 및 대시 구현에 대해 읽은 후 Centos의 스크립트 쉘로 sh를 대시로 교체하기로 결정했습니다.

내 시스템에 sh와 dash가 모두 있으므로 이 작업이 수행되었는지 확인하는 방법을 모르겠습니다. 그러면 어느 것이 기본 스크립트 셸인지 어떻게 알 수 있습니까?

답변1

다음 명령을 사용하여 기본 셸을 확인할 수 있습니다.

grep -- "$LOGNAME" /etc/passwd | awk -F":" '{print $7}'

내 컴퓨터에 sh링크가 있습니다 dash. 다음을 시도해 보세요.

ls -l "$(which sh)"

답변2

"스크립트 쉘"은아니요로그인 쉘. 그것은 무엇이든 실행됩니다 /bin/sh. 많은 Bourne 쉘 파생물(예: shKorn 쉘과 유사할 수 있는 bash 및 dash 등)은 호출 시 다르게 동작합니다.sh

답변3

Centos(및 기타 Linux 및 unices)에서는 다음 명령을 실행할 때 어떤 쉘이 사용되는지 알 수 있습니다.

$ id
uid=501(john1) gid=1000(groupname1) ....

사용자를 사용하고 있음을 알려줍니다 john1.

$ grep john1 /etc/passwd
john1:x:501:1000:john1,,,:/home/john1:/bin/bash

마지막 문자열은 /로그인 쉘이 무엇인지 알려줍니다(이 경우 "/bin/bash").

로그인 셸을 변경하려면 사용자로서 root이 문자열을 편집 할 수 있지만 passwd다른 내용은 변경하지 않도록 주의하세요.

그래픽 인터페이스(예: GNOME 또는 KDE)가 설치되어 있는 경우 다른 그래픽 도구를 사용하여 이 설정을 변경할 수 있습니다.

답변4

이를 변경하는 가장 좋은 방법은 Centos에서 usermod를 사용하는 것입니다.

usermod -s /bin/bash username

관련 정보