티스토리 뷰
발생일: 2013.01.11
문제:
*nix 기반의 설정 파일을 공유하자는 dotfiles.github.com 가이드를 보고 맥에 적용해봤다.
문제:
*nix 기반의 설정 파일을 공유하자는 dotfiles.github.com 가이드를 보고 맥에 적용해봤다.
난 Paul Irish의 것을 포크해서 쓰고 있는데, (https://github.com/ohgyun/dotfiles)
내 입맛에 맞게 바꿔보려고 하니 설정 파일이 많아 좀 헷갈리더라.
이참에 쉘 스크립트를 공부해봐야겠다 싶어서 조금씩 보고 있는 중이다.
dotfiles repository를 처음 보고 들었던 생각은 이런 것들이었다.
"어디서부터 시작해야 되지..."
".bash_profile 파일은 봤는데, .function 이며, .aliases 라는 것들도 원래 있었던 건가..."
해결책:
환경 설정 파일에는 아래 3가지가 있다.
.bash_profile
시스템에 로그인할 때마다 실행된다. (login shell 에서 실행된다)
.bash_profile 을 찾지 못하면, .bash_login 을 찾고, 없다면 .profile 을 찾는다.
.bashrc
이미 로그인 한 상태에서 새 터미널 창을 열 때마다 실행된다. (non-login shell에서 실행된다)
.bash_logout
login shell을 종료할 때마다 실행한다.
단, Mac OS X에서는 로그인 여부에 관계 없이 모든 터미널 창을 login shell로 실행한다.
만약 새 터미널 창을 열 때마다 .bash_profile 을 실행하게 하고 싶다면,
.bashrc 에서 .bash_profile 을 호출하도록 해두면 된다.
.bash_profile 의 경우, 아래와 같은 순서로 실행된다.
1. /etc/profile 을 실행한다.
2. ~/.bash_profile 을 실행한다.
2.1. 없다면, ~/.bash_login 을 실행한다.
2.2. 없다면, ~/.profile 을 실행한다.
실행 순서에 대한 좀 더 자세한 내용은 아래 포스트를 참고하자.
dotfiles에서 가져온 것들을 보면 위에서 언급한 파일 이외에도 여러 개의 닷파일이 있다.
(예: .aliases, .function, ... )
이 파일들은 기본 실행 파일은 아니며,
.bash_profile 에서 아래와 같이 설정해 나눠둔 파일을 불러와 실행하고 있다.
for file in ~/.{extra,bash_prompt,exports,aliases,functions}; do
[ -r "$file" ] && source "$file"
done
첨엔 왠 설정 파일이 이렇게 많은지 정신이 없었는데,
알고 보니 특징 별로 아주 잘 분류해놓은 거였다. ㅎㅎ
여튼, 재밌구낭~~~
덧)
.bashrc 나 .vimrc 와 같은 파일에서 rc 는 "Run Commands" 를 의미한다.
반응형
댓글
공지사항