zsh 매개변수 대체

zsh 매개변수 대체

이 페이지다음과 같은 데모 기능이 있습니다.

~inews> namedir () { $1=$PWD ;  : ~$1 }

하지만 내 컴퓨터에서 시도하면 다음과 같은 오류가 발생합니다.

namedir: no such file or directory: test=/home/user

혹시나 해서 저도 같은 기능을 시도해 보았으나 활성화 cd되지 않더군요 . 오류에 대한 아이디어가 있습니까?$1=$PWDautocd

답변1

이것이 어떻게 작동하는지 모르겠습니다. 할당은 $왼쪽의 기호를 취하지 않으므로 $1=$PWD할당으로 인식되지 않고 단지 두 변수를 확장한 다음 명령으로 실행하려고 시도합니다. namedir testin을 사용하면 /home/user확장되어 test=/home/user해당 오류가 발생합니다.

이것수동명명된 디렉터리는 를 사용하여 설정할 수 있다고 언급되어 있으므로 hash -d name=/dir다음과 같이 작동해야 합니다.

namedir() { hash -d "$1=$PWD"; }

이것목차소개 부분에 "이 문서는 texi2html 번역기 버전 1.44를 사용하여 1995년 11월 30일에 생성되었습니다."라고 되어 있으므로 이 문서가 완전히 최신인지, 명명된 디렉터리가 과거에는 다르게 작동했는지 알고 싶습니다. (그럼에도 페이지에는 "~inews... 형식의 디렉터리를 참조할 때"라고 나와 있지만 이것이 어떻게 작동하는지 알 수 없습니다.)

관련 정보