zsh에 대한 하이픈 별칭을 만드는 방법은 무엇입니까?

zsh에 대한 하이픈 별칭을 만드는 방법은 무엇입니까?

나는 사용하고있다다루기 힘든그리고아 맙소사우분투에서.

과거의 가장 최근 디렉터리로 변경하려면 -와 동일한 별칭을 설정해야 합니다 cd -. 어떻게 든 내 컴퓨터에서 별칭이 사라졌습니다. 아마도 내가 시작했기 때문일 것이다.아 맙소사저장소.

이제 이 별칭을 내 도트 파일에 추가하고 싶습니다. 어떻게 해야 하나요?

답변1

별칭이 삭제되었습니다이번에 제출하세요.

다시 추가하려면:

alias -- -='cd -'

대부분의 POSIX 쉘이 --작동하려면 이 별칭이 필요하지만 다음만 필요합니다 dash.

$ dash
$ alias -='echo 1'
$ -
1

답변2

다른 명령과 마찬가지로 --명령이 다음으로 시작함을 나타내는 후속 인수 -는 옵션이 아닙니다.

alias -='cd -'

-매개변수가 있는 경우 함수를 사용하여 함수를 만드는 것이 더 나을 수도 있습니다 . -zsh 에서는사전 명령 수정자-, 0번째 인수 앞에 명령을 실행합니다 . (물론 이것은 약간 모호합니다.ARGV0 variable동일한 효과를 얻으십시오. )는 내장 명령이 alias아니고 function옵션이 없는 키워드이므로 를 사용할 수 있습니다 function -.

function - {
  if [[ $# -eq 0 ]]; then
    cd "$OLDPWD"
  else
    builtin - "$@"
  fi
}

(아니면 하고 싶은 대로 하세요 - foo.)

관련 정보