나는 이 파일을 가지고 있습니다 :
/Users/MYUSERNAME/asciidots/asciidots/__main__.py
현재 디렉터리에 있는 것처럼 실행되도록 별칭을 지정하고 싶습니다. 나는 다음과 같은 것을 생각하고 있습니다 :
alias asciidots="OLDCWD=$PWD && cd /Users/MYUSERNAME/asciidots/asciidots/ && python3 __main__.py ALL_ARGUMENTS_FOLLOWING_THE_ALIAS && cd $OLDCWD"
하지만 나는 이것을 할 수 있는 어떤 방법도 모른다.
답변1
대신 함수를 사용하세요:
asciidots() (
cd /Users/MYUSERNAME/asciidots/asciidots/ &&
python3 __main__.py "$@"
)
"$@"
함수의 인수로 확장합니다. 여기서는 함수 본문 주위를 사용하는 ( .. )
대신 하위 쉘에서 실행되도록 합니다. { .. }
서브셸 환경에는 자체 작업 디렉터리가 있으므로 나중에 원래 디렉터리로 돌아갈 필요가 없습니다.
(제 기억이 맞다면 적어도 Zsh와 Bash에서는 작동할 것입니다.)
바라보다:Bash에서 언제 별칭을 사용하고, 언제 스크립트를 사용하고, 언제 함수를 작성합니까?(제목은 Bash에 대해 이야기하지만 대부분은 Zsh와도 관련이 있을 수 있습니다.)