zsh의 모든 .z 파일을 하나의 디렉토리에 보관하고 싶습니다. 이를 수행할 수 있는 방법이 있습니까? 그렇다면 어떻게 해야 합니까?
내가 보는 두 파일은 -
$ ls .z
.zcompdump .zshrc
더 있나요? 디렉토리를 넣고 .zsh라고 부르고 이 파일을 여기에 덤프할 수도 있고, 더 있을 수도 있습니다. .zcompdump가 무엇을 해야 하는지 모르겠습니다.
내부 콘텐츠 목록은 나에게 다음을 제공합니다.
$ head .zcompdump
#files: 823 version: 5.3
_comps=(
'-' '_torsocks'
'.' '_source'
'5g' '_go'
'5l' '_go'
'6g' '_go'
'6l' '_go'
'8g' '_go'
내가 올바르게 기억한다면 이것은 일종의 완성(bash-completion이 수행하는 것과 유사)인 것 같거나 잘못 읽었습니다.
더 많은 것을 알고 싶습니다.
업데이트 - 내가 한 일은 이렇다 -
/etc/zsh $ tail zshenv
# output or assume the shell is attached to a tty.
#
# Global Order: zshenv, zprofile, zshrc, zlogin
if [[ -z "$PATH" || "$PATH" == "/bin:/usr/bin" ]]
then
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/games"
fi
export ZDOTDIR="/home/shirish/.zsh/"
그런 다음 /home/shirish에서 -
/home/shirish $ mv .zcompdump .zsh/
/home/shirish $ mv .zshrc .zsh/
그런 다음 두 개의 도트 파일이 있을 것으로 예상하고 .zsh/로 이동했지만 보지 못했습니다.
/home/shirish/.zsh $ ls -lh
total 0
무슨 일이 일어나고 있는지 혼란 스럽습니다.
답변1
내 생각에 가장 좋은 방법은 시스템의 루트인 경우 다음을 /etc/zshenv 파일에 넣는 것입니다.
ZDOTDIR="/path/to/where/you/want/zsh/files" 내보내기
데비안이 실제로 /etc/zshenv 파일을 시스템의 "man zsh"로 읽고 처리하는지 확인하려면 매뉴얼 페이지의 파일 섹션을 확인하세요. 그렇다면 파일이 존재하지 않는 경우 파일을 생성할 수 있습니다.