사용자를 변경하는 중 오류가 발생했습니다.

사용자를 변경하는 중 오류가 발생했습니다.

사용자를 변경할 때마다 su myName항상 이 3가지 오류가 발생합니다.

-bash: zstyle: command not found
-bash: autoload: command not found
-bash: compinit: command not found

이는 일반 사용자로 전환할 때만 발생합니다. 어떻게 제거합니까?

체계:

  • 아치 x86_64
  • 터미널: Bash(이전에 zsh를 사용해 보았으나 제거함)

편집하다:bash방금 콘솔에서 실행할 때도 동일한 오류가 발생했습니다.

답변1

그림에서 알 수 있듯이-세게 때리다su시작하려고 시도한 출력의 각 행을 시작합니다.로그인쉘(1).

즉, /etc/profile, myName_Home_Dir/.bash_profile, myName_Home_Dir/.bash_login 및 myName_Home_Dir/.profile을 읽고 거기에 있는 명령이 실행됩니다.

따라서 우리는 zstyle, autoloadcompinit가 위 파일 중 하나에 의도하지 않게 남겨진 명령이라고 가정할 수 있습니다. 이전에 다른 셸을 사용한 경우 /etc/profile 또는 myName_Home_Dir/.profile일 가능성이 높습니다.


(1) 지적한 바와 같이자일스su myName아래 댓글에서 실제로 말씀하신 것과 같다면 su myName하나만 실행되어야 하므로 그렇게 되어서는 안 됩니다.인터렉티브쉘 (지침을 읽지 마십시오 /etc/profile) myName_$HOME/.profile. 따라서 귀하는 로그인 쉘을 명시적으로 트리거하는 것과 동의어를 거의 요구하고 있습니다 su - myName.su --login myName

관련 정보