zsh 별칭은 자신을 덮어쓴 다음 새 별칭의 명령을 실행합니다.

zsh 별칭은 자신을 덮어쓴 다음 새 별칭의 명령을 실행합니다.

일부 설정을 수행하고 자신을 재정의한 다음 새 별칭에서 명령을 실행하는 별칭을 만들고 싶습니다.

이 같은:

/remote/tool/setup_my_command.sh

source ./setup_completion.sh
alias my_command='/remote/path/to/a/bin --options'

.zshrc

alias my_command='am_i_logged_in && echo "Setting up my_command" && source /remote/tool/setup_my_command.sh && my_command || (echo "Log in first" 1>&2; return 1)'

내가 로그인하지 않은 경우,

$ my_command
Log in first

내가 로그인한 상태라면,

$ my_command
Setting up my_command
This is the output of my_command
$ my_command
This is the output of my_command

나는 이것이 거의 효과가 있다고 생각하지만 뭔가 빠졌습니다.

$ my_command
Setting up my_command
Log in first
$ my_command
This the output of my_command

그냥 .zshrc에 넣을 수도 있지만 am_i_logged_in || login && source /remote/tool/setup_my_command.sh, 오늘 도구를 사용하지 않더라도 모든 터미널 세션에 강제로 로그인하고 싶지는 않습니다.

관련 정보