Mac OSX에서 Bash를 재설정하는 방법, .bash_profile이 손상되어 bash가 더 이상 작동하지 않습니다


17

최신 버전의 Mountain Lion을 실행하는 MacBook Pro를 사용하고 있습니다.

정말 도움이 필요합니다. 터미널을 열 때마다 아래 나열된 오류가 발생하도록 .bash_profile (손상)을 손상시키는 방법을 관리했습니다.

-bash: export: `/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/go/bin': not a valid identifier
-bash: export: `/Users/rob/Applications/sbt/bin:': not a valid identifier
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
-bash: tar: command not found
-bash: grep: command not found
-bash: cat: command not found
-bash: find: command not found

무슨 일이 있었는지 잘 모르겠습니다. sudo, cd 또는 일반적인 명령이 없습니다. 주 디렉토리 중 하나에 도달 할 수있는 유일한 방법은 파인더에서 폴더로 이동 명령을 사용하고 아무 소용이없는 파일을 찾는 것입니다.

모든 것을 끝내기 위해 문제를 일으킬 수있는 파일을 만든 것 같아서 입력 한 .bash_profile을 편집하고 싶었습니다.

sudo nano ./bash_profile

그러면 나노로 저장된 새 파일이 열립니다. 이 후 node.js의 경로에 추가하기 위해 실제 .bash_profile을 열었습니다.

.bash_profile에 접근 할 수 있다면 다시 복구 할 수 있다고 생각하지만 찾을 수 없습니다. bash를 다시 설치해야합니까? 그렇다면 어떻게 Mac에서 그렇게 할 수 있습니까?

brew install bash

내가 얻는

-bash: brew: command not found

가장 먼저 시도해 볼 것은 문제를 분류 할 수 있도록 다른 쉘로 변경하는 것입니다 . 해당 support.apple.com/kb/TA27005 수행 방법에 대해서는 여기를 참조하십시오 . 이를 통해 문제가되는 파일을 수정 / 제거하고 셸을 다시로 변경할 수 bash있습니다.
Gjallar

고맙습니다 .bash를 다시 설치하려고 시도했지만 변경된 유일한 것은 -bash: export: '/Users/rob/Applications/sbt/bin:': not a valid identifier사라졌습니다. 내가 고투하고있는 한 가지는 첫 번째 줄이 저장되었다는 것입니다. 내 .bash_profile, .profile 및 .bashrc를 보았지만 아무것도 보지 못했습니다.
Strangeone

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/go/bin.bash_profile에 추가 했는데 bash가 수정 된 것 같지만 여전히이 오류가 발생합니다. -bash: export: '/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/go/bin': not a valid identifier어떤 아이디어?
Strangeone

다음을 시도해 볼 수 있습니다 : PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/go/bin:$PATH" # Make sure to use double quotes not single quotes그리고 새로운 줄에 export PATH.
Gjallar

고맙습니다, 효과가 있었던 것 같습니다. 왜 그렇게 될 것이라고 생각하는지 물어봐도 될까요?
Strangeone

답변:


12

답을 위해 모든 의견을 정리하면됩니다.

가장 먼저해야 할 일은 쉘을 바꾸는 것입니다.이 방법으로 bash init-scripts ( .bashrc, .bash_profile)를 로드하지 않는 쉘을 설정할 수 있습니다-Mac OS X 터미널 응용 프로그램을 위해이를 수행하는 방법은 여기에서 볼 수 있습니다 : Apple 지원

이제 터미널을 다시 열고 원하는 명령 줄 편집기를 사용하여 .bash_profile파일 을 열 수 있어야 합니다 (예 : nano또는 vi).

이 파일 PATH에서 터미널이 사용할 수있는 프로그램을 찾기 위해 사용하는 변수 를 재설정해야 합니다.

다음 두 줄로 수행 할 수 있습니다.

PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH" # Make sure to use double quotes not single quotes And on a new line 
export PATH

먼저 PATH에 포함 할 디렉토리를 설정하고이 PATH를 내 보내면이 셸에서 시작한 모든 프로그램 (내보내기를 통해)에서 사용할 수 있습니다.


21

⇧⌘. 파일 대화 상자에 숨겨진 파일을 표시합니다. TextEdit으로 ~ / .bash_profile을 열어 일시적으로 비워보십시오.


내가 알지 못하는 유용한 키보드 단축키는 +1입니다.
Michel

참고 : .bash_profile은 홈 디렉토리에 있습니다 (Users / [username] /. bash_profile
Amos

@Lri에게 감사합니다, 내 하루를 구했습니다!
Vicky_Vignesh

4

나는 같은 문제를 겪고 있었고 더 간단한 해결책을 찾았습니다.

/usr/bin/nano .bash_profile

모든 엉망을 삭제 한 다음 파일을 저장하십시오.


가장 좋은 답변입니다. 작업이 쉽고 보장됩니다.
nikk wong

3

나는 이것이 오래된 스레드라는 것을 알고 있지만 다른 누군가가 같은 문제가 있기를 바랍니다.

MacOS에서 터미널을 실행할 때 내 사용자에게는 문제가 없었지만 sudo로 변경하면 작동하지 않습니다 (명령을 찾을 수 없음).

나는 그것을 다음과 같이 고쳤습니다.

nano ~/.bashrc

오류를 일으킨 경로를 제거했습니다. 터미널을 다시 시작하면 모든 것이 정상적으로 작동합니다.


0

최근에 DOS 스타일 파일이 OS-X의 .bash * 스크립트 모두에 문제를 일으키는 것을 발견했습니다. Windows 사용자와 공유되는 일부 코드에 DOS 파일 엔딩을 사용해야하므로 해당 git repo에서 .bash_profile을 편집하면 스크립트를 실행할 때 (로그인시) 많은 오류 메시지가 나타납니다. 유틸리티 dos2unix가 수정했습니다.


-1

이전에 언급 한 숨겨진 파일 표시 및 텍스트 편집기 사용 외에도 기본 쉘을 변경하지 않고 새 쉘을 여는 쉬운 방법이 있습니다. 터미널 앱을 클릭하고 "새 명령 ..."을 선택할 수 있습니다. 그런 다음 대화 상자에 "sh"를 입력하고 실행하십시오. 이것은 비 bash 쉘을 열고 거기에서 파일을 편집 할 수 있습니다. 앞으로는 종료하기 전에 쉘을 열어 두거나 새 .bash_profile을 실행하여 테스트하는 것이 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.