쉘 스크립트의 구성 파일?

쉘 스크립트의 구성 파일?

zsh 스크립트에 대한 구성 파일을 정의할 수 있습니까?

저는 macOS 10.15를 실행 중이고 기본 셸은 zsh입니다. alias abc="echo yes"내가 생각할 수 있는 모든 프로필은 ~/.zshrc, ~/.zsh_profile, ~/.profile 및 ~/.zsh_login에 정의되어 있습니다. 그러나 쉘 스크립트 t.sh 호출은 다음과 같이 abc불평합니다 command not found: abc.

⇒  cat t.sh
abc
⇒  zsh t.sh
t.sh:1: command not found: abc
⇒  sh t.sh
t.sh: line 1: abc: command not found

t.sh 상단에 줄을 추가하면 source ~/.zshrc작동할 것이라는 것을 알고 있지만 알고 싶습니다.source ~/.zsh_login내 컴퓨터에서 (내가) 실행한 모든 zsh 스크립트를 기본적으로 실행하는 구성 파일을 설정할 수 있습니까?

:!예를 들어 프로그램의 명령 :!abc뿐만 아니라 vim에서 명령을 호출할 때 별칭을 설정하고 싶기 때문에 이 질문을 드리는 것입니다.]에 에. 또한 위의 질문과 관련이 없는 경우 알려주시기 바랍니다. 로그인 쉘과 비로그인 쉘 또는 다른 유형의 쉘이 혼동됩니다. 참고로 vim에서는 :!echo $0return 을 /bin/zsh하고 :!whoamireturn 하므로 ***(my name)로그인 셸인 것처럼 보입니다.

답변1

실행하는 모든 zsh 스크립트의 ~/.zshenv소스는 다음과 같습니다.

=> cat ~/.zshenv
alias abc="echo yes"
=> cat t.sh
abc
=> zsh t.sh
yes

zsh 도트 파일의 단순화된 계층 구조:

  • ~/.zshenv- 모든 zsh 스크립트의 소스입니다.
  • ~/.zshrc- 모든 대화형 zsh 세션(터미널에 연결된 세션)에서 시작됩니다. 일반적으로 여기에 별칭을 입력하는 것이 가장 좋습니다.
  • ~/.zprofile- 그룹의 첫 번째 대화형 세션인 로그인 zsh 세션에서 시작됩니다.

사용하려면 대화 형 셸을 시작하도록 MacVim을 구성하여 ~/.zshrc. ~/.gvimrc

let &shell='/bin/zsh -i'

다른 vim 버전의 경우 좀 더 복잡한 작업을 수행해야 할 수도 있습니다. 답변은 여기에서 확인하세요.
https://vi.stackexchange.com/questions/16186/how-to-run-zsh-aliased-command-from-vim-command-mode

관련 정보