MinGW Bash 프로필


37

Windows 7에서 MinGW 를 사용 .bashrc합니다.에 별칭이 있습니다. 파일은 MinGW가 시작되는 내 홈 폴더에 있으므로 폴더가 내 홈 폴더라고 생각합니다. 폴더 내용을 자동으로로드하지 않습니다. bash별칭을 작동 시키려면 명령 을 실행 해야합니다.

로 이름을 바꾸려고했습니다 .bash_profile. 이것은 자동으로로드되지 않고 bash수동으로 실행할 때로 드되지 않았기 때문에 상황을 악화 시켰습니다 .

이 문제를 어떻게 해결할 수 있습니까?


경로가 미안합니다. C : \ MinGW \ msys \ 1.0 \ home \ Your_Username_Here \ .profile

답변:


48

bash아마도 로그인 쉘로 시작될 것입니다.이 경우 .bashrc자동으로 읽히지 않습니다 . 대신을 읽습니다 .bash_profile. 로부터 배쉬 설명서 :

따라서 일반적으로`~ / .bash_profile '은 다음 줄을 포함합니다.

if [ -f ~/.bashrc ]; then . ~/.bashrc; fi

로그인 별 초기화 후 (또는 이전)

요약하면 .bash_profilehomedir에 파일을 만들고 위에 인용 된 줄을 추가하십시오.

당신이 경우 bash실제로으로 불려지고 sh, 당신은 사용해야합니다 .profile대신 .bash_profile(Bash는 수동 링크 위의 섹션 "이름 SH으로 호출"을 참조하십시오).


1
아이디어 주셔서 감사하지만 작동하지 않았습니다. 질문에서 말했듯이 별칭 명령을 .bash_profile에 넣는 것은 전혀 작동하지 않으므로 읽지 못하는 것 같습니다.
KurToMe

5
이것은 대신 .profile 파일에 넣지 않고 말한 것을 정확하게 수행 할 수있는 아이디어를주었습니다. 어떤 이유로 든 효과가 있습니다 (MinGW는 기본적으로 Bash를 사용하지 않거나 미친 것 같습니다). 이 옵션을 답변에 추가하면 승인 된 것으로 표시됩니다.
KurToMe

1
아, 내 질문에 내가 고쳐 놓은 오타가 있었는데, 질문 .bash_rc에서 그것을 부르고 있었지만 의미했습니다 .bash_profile.
KurToMe

좀 더 간결한 내용 :[ -f ~/.bashrc ] && . ~/.bashrc
Rich Homolka

1
@KurToMe 나는 당신의 상황을 커버하기 위해 편집했습니다.
jjlin

8

Windows XP를 실행 중이며 동일한 문제가 발생했습니다. HOWTO가 MSYS 빌드 환경을 만드는 방법을 찾았습니다 .

이것은 중요한 라인입니다.

런타임 빌드 및 현재 작업 디렉토리를 식별하기 위해 다음을 ~/.profile파일에 추가 할 수 있습니다 .

MinGW 셸에서 다음을 만들었습니다 .profile.

cd ~
touch .profile

메모장 ++ 을 사용 하여 유닉스 형식의 텍스트 파일로 편집하고 .profile홈 디렉토리에 저장했습니다.C:\MinGW\msys\1.0\home\Your_Username_Here\.profile

그런 다음 별칭을 추가하고 저장했습니다.

alias n='nano -w'

그런 다음 시작 메뉴와 만세에서 MinGW Shell 바로 가기를 시작했습니다. 텍스트 줄 바꿈이없는 나노 .

이것이 도움이되기를 바랍니다.


당신이 말하는 것은 jive하지 않습니다 ... ~는 사용자 홈 디렉토리를 의미합니다 ... 그리고 당신의 진술 c : \ MinGW \ msys \ 1.0 \ home ... 물결표가 창에 사용자의 홈 ... 그 % USERPROFILE % ...
에디 B

2

나는 .bash_profile이 나를 위해 일하는 것을 찾지 못했기 때문에 (읽지 않았 음) .profile 접근 방식을 취하여 그 안에 넣었다.

exec bash

이것은 현재 쉘을 bash의 새로운 시작으로 대체합니다.

.profile을 사용하면 sh가 bash가 아닌 로그인에 사용된다고 제안합니다.


1

GIT와 함께 설치된 MINGW의 경우 다음과 같이 작동했습니다. .bash_profile put in C:\Users\[user_name]

이것은 ~가 쉘 (pwd)에서 가리키는 디렉토리이기도합니다.

그냥 :)


0

@Koshmarr의 라인을 따라 있지만 약간 다릅니다. git-scm.commingw64 에서 다운로드 한 My 는 시작시 로드 됩니다. 그러나 내 홈 드라이브 (에 의해 발견됨 )가에 있었습니다. 나는 내 드라이브 에 a 를 넣고 모든 것이 효과가있었습니다./c/Users/[user-name]cd ~/h/.bashrc.bash_profile~

에서 .bash_profile:

    source ~/.bashrc;

MINGW가 집을 고려하는 곳을 파악하고 .bash_profile거기에 두십시오 .


0

MSYS Bash 초기화 파일을 설정하는 방법

Windows OS에서 Bash가 사용하는 초기화 파일 (예 : profile, bash_profile, bashrc)을 가리키는 방법은 Linux OS와 다릅니다.

Windows와 Linux OS의 차이점은 파일 시스템 구조로, Bash 파일 위치와 파일 이름 지정 규칙이 다릅니다.

MSYS Bash 초기화 파일 (예 : profile, bash_profile 및 bashrc)을 설정하는 방법

1) WINOS에서 'C : \ msys \ 1.0 \ etc \'에있는 'etc'폴더를여십시오. 노트. 'etc'폴더 안에 'profile'파일이 표시되어야합니다.

2) 파일 확장자가없는 파일을 저장하십시오 (즉, 저장시 저장 형식을 '.all files'로 설정) 파일 이름이 '.bash_profile'인 'C : \ msys \ 1.0 \ home \ USERNAME'으로 저장하십시오. 노트. Linux OS Bash 설정에서 예상 한 것처럼 파일 이름 접두어로 점 (예 : '.bash_profile')이 있습니다.

2) 파일 확장자가없는 파일을 저장합니다 (즉, 저장시 저장 형식을 '.all files'로 설정) 파일 이름이 '.bashrc'인 'C : \ msys \ 1.0 \ home \ USERNAME'으로 저장하십시오. 노트. Linux OS Bash 설정에서 예상 한 것처럼 파일 이름 접두어로 점 (예 : '.bash_profile')이 있습니다.

4) 텍스트 편집기에서 '프로필'파일을여십시오 (숭고한 텍스트 x가 좋습니다) 참고 : '프로필'의 파일 위치는 'C : \ msys \ 1.0 \ etc \'입니다.

'profile'파일 내에서 파일 끝에서 텍스트 줄로 스크롤하십시오 (즉, 맨 아래로 스크롤하십시오). 현재 디렉토리를 HOME으로 변경하기 위해 Bash를 나타내는 테스트 줄이 나타납니다 (MSYS에서 HOME은 '프로필'파일)

CD $HOME

5) 'CD $ HOME'텍스트가있는 행 앞에 다음 코드를 복사하십시오. 'profile'에이 스크립트를 추가하면 MSYS bash가 bash_profile을 실행하도록 지시합니다. -------------------------------------------------- --------- # 수정 된 BEGIN

# Note. -f is a flag in the file-test operator set of bash commands
#       that test whether file exists
echo '[i] INFO loading personal environment variables and startup   programs.... '
BASHRC="$HOME/.bash_profile"
if [ -f "$BASHRC" ]; then
  source "$BASHRC"
fi

#modified END
#---------------------------------------------------------------------------

6) 텍스트 편집기 ( Sublime Text x가 양호 함)와 파일 끝 (파일 하단 )에서 'bash_profile'파일을여십시오.

7) 파일 끝에서 다음 코드를 복사하십시오- '.bash_profile'에이 스크립트를 추가하면 Bash가 '.bashrc'를 실행하도록 지시합니다

#---------------------------------------------------------------------------
#modified BEGIN

# Note. -f is a flag in the file-test operator set of bash commands
#       that test whether file exists
BASHRC="$HOME/.bashrc"
if [ -f "$BASHRC" ]; then
  source "$BASHRC"
fi

#modified END

# ------------------------------------------------- --------------------------

8) 이제 '.bashrc'안에 작은 스크립트를 작성하여 'profile'이 'bash_profile'을 호출하고 'bash_profile'이 '.bashrc'를 호출하는지 확인하십시오.

8.1) 생성하려는 명령 이름을 생각하십시오. 테스트를 의미하기 위해 't'를 사용하자

8.2) Bash 터미널을 열고 't'를 입력하십시오. Bash는 't : command not found'라고 응답해야합니다. 't : command not found'가 아닌 경우 명령 이름에 'command not found'가 표시 될 때까지 8.1 및 8.2를 반복하십시오. bash BAD!에 지정된 명령 이름의 별명을 지정하지 않으려면 'command not found'여야합니다.

8.3) 좋아, 't'는 나에게 't : command not found'를 주었다. 이제 스크립트를 '.bashrc'에 작성하겠습니다

8.4) '.bashrc'쓰기

# Use double quotes or bash will not write it
alias t="echo passed test"

8.5) 'C : \ msys \ 1.0 \ home \ USERNAME'에 '.bashrc'파일을 저장하십시오.

9) 거의 다 왔습니다. 이제 Bash 터미널을 다시 시작하고 이전에 열린 Bash 터미널을 닫아야합니다.

10) 터미널 't'를 입력하십시오. '통과 테스트'에 응답해야합니다. 그렇지 않은 경우 코드가 올바르게 작성되었는지주의하여 확인하십시오 (따옴표를 확인하여 시작).

일부 참고 사항 1) 'source filename'은 '과 같습니다. 파일 이름'

2) ""큰 따옴표는 변수를 내용으로 대체 할 수 있습니다. 작은 따옴표는

3) $ HOME은 / home / USERNAME과 동일합니다. ~는 / home / USERNAME과 같습니다.

4) 함수는 항상 별칭 2 보다 선호됩니다.

자세한 내용은 BASH 참조를 참조하십시오

나는 Bash를 처음 사용합니다. 따라서 이것이 최선의 방법이라는 보장은 없습니다.

행운을 빕니다!

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