ZSH의 사용자 정의 명령

ZSH의 사용자 정의 명령

저는 Zsh와 Bash를 처음 접했습니다.

desktop예를 들어 데스크탑으로 이동하는 사용자 정의 명령을 설정하고 싶습니다 . .bash_profile 파일에 다음 줄을 추가하면 Bash에서 작동합니다.

desktop() {
  cd /Users/me/Desktop
}

Zsh에서는 작동하지 않는 것 같습니다.

코드를 어디에 배치하느냐의 문제일까요, 아니면 이 모든 것이 잘못되고 있는 것일까요?

답변1

~/.bashrc 파일을 편집합니다. 별칭 섹션을 찾아 다음
별칭 Desktop='cd /path/to/desktop'을 추가하세요.

그렇게 하면 몇 가지 별칭을 선언하게 됩니다. 원하는 사용자 정의 별칭을 만들 수 있습니다! (즉, 별칭 ne='emacs -nw'가 있고 ne "some file"을
실행할 때마다 쉘 기반 emacs에서 파일이 열립니다.)

데스크탑을 작성할 때마다 그곳으로 이동하게 될 것입니다 :-) (이론적으로)

답변2

zsh를 사용하면 ~/.zshrc를 편집해야 합니다(존재하지 않는 경우 생성 -> 예제 템플릿).https://github.com/robbyrussell/oh-my-zsh/blob/master/templates/zshrc.zsh-template)

그래서:

나노 ~/.zshrc

원하는 별칭을 추가하세요. 예:

별칭 my_project_runserver='cd my_project_path; . venv/bin/활성화; ./manage.py 실행서버'

위의 별칭을 사용하여 프로젝트 폴더로 이동하여 virtualenv를 활성화하고 django 서버를 실행합니다.

;

명령을 분리하므로 하나의 별칭으로 여러 명령을 실행할 수 있습니다.

변경사항을 적용하려면 다음을 실행하세요.

. ~/.zshrc

답변3

전역 z 쉘 스크립트 실행 파일 생성

전역적으로 사용 가능하고 셸 구성과 독립적인 고유한 스크립트 파일을 만드는 것이 좋습니다.

1. 다음 내용으로 텍스트 파일을 만듭니다(파일 이름을 'desktop'으로 지정).

#!/usr/bin/env zsh
cd /Users/me/Desktop
#or any shell commands you want

2. 해당 경로에 파일을 저장합니다.

/usr/local/bin 

3. 다음 명령을 실행하여 올바른 권한으로 스크립트를 실행 가능하게 만듭니다.

cd /usr/local/bin 
sudo chmod -x ./desktop
Sudo chmod 755 desktop

4.터미널을 다시 시작합니다.

관련 정보