Mac OS X .bashrc가 작동하지 않습니다


77

.bashrc내 홈 디렉토리에 한 줄짜리 파일이 있습니다.

alias countlines='find . -type f -print0 | xargs -0 cat | wc -l'

그러나 별명을 작성하지 않습니다. 왜 그런가요?

답변:


101

OSX에서는 .bash_profile대신에 사용됩니다 .bashrc.

예, .bash_profile파일은 /Users/YourName/
(즉, ~/.bash_profile)

예를 들어 /Users/Aaron/.bash_profile


11
이것은 정답이 아닙니다. 별칭은 상속되지 않으므로 .bash_profile에서만 정의하면 로그인하지 않은 쉘에서는 정의되지 않습니다 (예 : bash 내에서 bash를 실행할 때).
LaC

1
또는 bashrc에 별명을 넣는 것과 같은 효과를 가지지 만 더 관리하기 쉬운 bash_aliases를 사용할 수 있습니다. ss64.com/osx/syntax-bashrc.html
Atul Ingle

4
내 .bash_profile에에 난 그냥 (일종의) bashrc에 별칭에 한 줄을 작성 ->source ~/.bashrc
에릭 Hodonsky

86

.[bash_]profile그리고 .bashrcOS X와 리눅스 모두에서 사용할 수 있습니다. 전자는 쉘이 로그인 쉘일 때로드됩니다. 후자가 아닌 경우. 실제 차이점은 사용자가 그래픽 세션에 로그인 할 때 Linux가 로그인 셸을 실행 한 다음 터미널 응용 프로그램을 열면 해당 셸은 비 로그인 셸입니다. 반면 OS X는 그래픽 로그인시 쉘을 실행하지 않으며 Terminal.app에서 쉘을 실행할 때 로그인 쉘입니다.

별명을 로그인 및 비 로그인 쉘 모두에서 작동 시키려면 (일반적으로 수행), .bash_profile의 .bashrc source .bashrc에 다음과 같은 행을 넣어야합니다 .

[ -r ~/.bashrc ] && source ~/.bashrc

이것은 bash를 사용하는 모든 시스템에 적용됩니다.


15
.bashrc의 모든 것이 하위 쉘 (및 하위 하위, 하위 하위 등)에 대해 다시 실행된다는 경고와 함께 +1이므로 PATH=$PATH:/my/private/binariesPATH 팽창으로 이어질 것입니다. 해결 방법 은 내용을 참조하십시오 .
Gordon Davisson

2
참된. 내 보낸 인스턴스 변수가 상속되므로 .profile대신 대신 설정했습니다 .bashrc.
LaC

1
@LaC 당신은 _ 내 보낸 인스턴스 변수가 상속되었으므로, 그냥 설정했습니다 .profile_...?
sam

1
@sam, 나는 "인스턴스"가 어디에서 왔는지 모른다. 방금 "내 보낸 변수"를 의미했습니다. 불행히도 나는 그 의견을 편집 할 수 없습니다.
LaC

2
@dinosaur : "-r"은 파일을 읽을 수 있는지 확인합니다.
mhvelplund

7

또는 .bashrc를 가리키는 .bash_profile이라는 sym 링크를 만듭니다.

ln -s .bashrc .bash_profile

2

Mac OS X .bash_profile대신 사용 되기 때문에 별명을 지정하지 않습니다..bashrc

따라서 두 가지 옵션이 있습니다.

  • 에 별칭을 넣어 ~/.bash_profile

  • 또는 이 줄을 .bashrc다음 .bash_profile에 추가하여 소스를 찾으 십시오 .bash_profile.

    . ~/.bashrc


1

맥 OS X 요세미티 , 다음 명령을 실행합니다 :

vi ~/.profile

그런 다음 다음 줄을 추가하십시오.

source ~/.bashrc

이제 저장하고 닫은 .profile다음 새 터미널 창을 열거 나 다음을 실행하십시오.

source ~/.profile

이 답변 도 참조하십시오 . v10.10.3에서 작동했습니다.


이것은 4 년 전의 답변을 다시 만드는 것 이상입니다.
G-Man

물론 쉽게 읽고 적용 할 수 있습니다. 또한 약간의 기여도-언급 한 다른 파일은 내 OS Yosemite에서 사용할 수 없기 때문에.
Ricardo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.