다중 사용자 환경, SSH ZSH - 명령을 찾을 수 없음: shopt

다중 사용자 환경, SSH ZSH - 명령을 찾을 수 없음: shopt

방금 원격 서버에 ZSH를 설치했고 우리는 2명의 "관리자"입니다. 나는 그것을 증명하는 출력을 제공 하는 chsh -s $(which zsh). 그러나 SSH 세션을 열면 다음과 같은 오류가 발생합니다.echo $SHELL/usr/bin/zsh

/etc/profile.d/vk.sh:30: command not found: shopt

이 오류는 시작 시에만 발생하며 SSH 세션을 열 때 한 번만 표시됩니다.

내가 이해한 바에 따르면 다른 관리자는 자신의 별칭을 사용하여 일부 사용자 정의 스크립트를 배치하고 shopt -s histappend거기에서 명령을 사용했습니다.

내 질문은 내 SSH ZSH 세션이 시작 시 이 스크립트를 호출하는 이유는 무엇입니까? 그 범위가 내 프로필로 제한되어서는 안 되나요?

그의 작업에 영향을 주거나 건드리지 않고 ZSH를 실행할 수 있는 우아한 솔루션은 무엇입니까? 그 사람에게 홈 디렉토리의 다른 곳으로 옮겨달라고 요청해야 할까요?

답변1

/etc/profile파일에는 시스템 전체 구성 파일 설정이 포함되어 있습니다. 이 파일에는 많은 배포판이 있습니다 /etc/profile.d. 따라서 모든 대화형 로그인은 이 폴더의 내용을 호출합니다. 프로필 스크립트의 범위를 하나의 계정으로만 지정하려면 다음을 수행해야 합니다.

  1. 해당 스크립트를 ~/.profile또는 ~/.bash_profile(bash 사용자의 경우) 로 이동하거나

  2. vk.sh로그인한 사용자를 기준으로 실행을 건너뛰는 로그인 기능을 추가했습니다 .

관련 정보