[shell] zsh에서 찾을 수없는 명령

z 셸을 사용하고 있습니다 (zsh기본 bash 대신 )을 사용하고 있으며 잘못된 일이 발생하여 작업하는 데 사용 된 모든 명령이 더 이상 인식되지 않습니다.

ls
zsh: command not found: ls

open -e .zshrc
zsh: correct 'open' to '_open' [nyae]? 

재설정 방법이 나이 zsh문제를 해결하는 방법을 모르겠습니다 . $PATH변수 내용은 다음과 같습니다 .

echo $PATH
/Users/Malloc/bin/Sencha/Cmd/3.1.2.342:/usr/local/bin/mate

.bash_profile파일을 열 수 없습니다.zshrc 파일을 . 유일한 해결책은을 재설정하는 것 같습니다 zsh. 어떤 아이디어?

편집하다:

이 스레드에zsh 표시된대로 재설정하려고 했지만 항상 오류 가 발생했습니다.command not found

exec zsh
zsh: command not found: zsh

무슨 일이야? 왜 모든 명령이 손실됩니까?



답변

PATH변수 를 엉망으로 만드는 것이 분명 합니다. (현재 PATH는 공용 유틸리티가있는 위치를 포함하지 않습니다.)

시험:

PATH=/bin:/usr/bin:/usr/local/bin:${PATH}
export PATH

또는 “재설정”zsh에 대해 쉘의 전체 경로를 지정하십시오.

exec /bin/zsh

또는

exec /usr/bin/zsh


답변

~ / .zsh 구성 파일에 별명을 포함하는 bash 경로 파일의 경로를 포함하십시오. 필자의 경우 ~ / .zsh 안에 “source ~ / .bash_profile”줄을 포함하고있었습니다.


답변

  1. VS Code와 같은 훌륭한 텍스트 편집기를 사용하고 .zshrc파일을여십시오 (홈 디렉토리에 있어야 함) 파일이 보이지 않으면 파일 폴더를 마우스 오른쪽 단추로 클릭하고 ‘숨겨진 파일 표시’옵션을 선택하십시오. .

  2. 그것이 어디에 있는지 찾아라 : export PATH=a-bunch-of-paths-separated-by-colons:

  3. 끝 따옴표 앞에 줄의 끝에 이것을 삽입하십시오. :$HOME/.local/bin

그리고 그것은 당신을 위해 작동해야합니다.

먼저 터미널에 이것을 입력하여 이것이 작동하는지 테스트 할 수 있습니다. export PATH=$HOME/.local/bin:$PATH

터미널에 입력 한 후 오류가 사라지고 터미널이 정상적으로 작동하면 위의 해결 방법이 작동합니다. 그렇지 않은 경우 참조 오류가있는 폴더 (찾을 수없는 것)를 찾아 위의 PATH를 PATH-TO-THAT-FOLDER로 바꾸십시오.


답변

/ usr / local / bin /에서 심볼릭 링크를 만들 수 있습니다

sudo ln -s $HOME/.composer/vendor/bin/homestead /usr/local/bin/homestead


답변

나를 위해 터미널을 다시 시작하면 문제가 해결 된 것 같습니다.


답변

터미널 환경 설정 일반 탭을 열고 명령 (전체 경로) /bin/bash을 기본값으로 변경 한 다음 ~/.zshrc파일 을 편집하여 문제를 해결했습니다 .

여기에 이미지 설명을 입력하십시오

export PATH="all your path inside the quotes"

PATH="와 사이에 공백이 없으면 파일을 저장하십시오.

여기에 이미지 설명을 입력하십시오

파일을 저장 한 후 /bin/zsh명령을 변경 하거나 기본값을 선택하십시오.
여기에 이미지 설명을 입력하십시오

… 그리고 터미널을 다시 시작하면 zsh 쉘이 다시 작동해야합니다!


답변

당신이 나를 좋아한다면, 당신은 두 개의 터미널 응용 프로그램을 갖게 될 것입니다. 하나는 기본 쉘이 bash를 기본 쉘로 사용하고 다른 하나는 zsh를 쉘로 사용하는 iTerm 2입니다. bash의 iTerm 2에 명령과 zsh를 모두 두려면 다음을 수행해야합니다.

iTerm 2에서 환경 설정 (또는 command)으로 이동하십시오. 그런 다음 프로파일 탭으로 이동하여 command 로 이동하십시오 . 아래 그림에서 볼 수 있듯이 명령 옵션 을 선택 하고 zsh 셸의 경로를 붙여 넣으십시오 (경로를 찾으려면 할 수 있습니다 which zsh).

여기에 이미지 설명을 입력하십시오

이 시점에서 iTerm 2에 대해서만 zsh를 기본 쉘로 사용하게되며 기본 mac 터미널 앱에서 전역 기본 쉘로 bash를 갖게됩니다. 다음으로 zsh의 bash에서 여전히 명령이 누락되었습니다. 따라서이 작업을 수행하려면 bash (명령이 작동하는 곳)로 가서 env에서 PATH 변수를 가져와야합니다 (이 명령을 사용하여 수행하십시오 🙂 env | grep PATH.

그런 다음 iTerm 2로 이동하여 “시작시 텍스트 보내기”옵션에 경로를 붙여 넣으십시오.

export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin && clear

iTerm 2를 다시 열면 완료됩니다!