IT

.bash_profile, .bashrc에 대한 정보와 메시지는 어디에 작성해야합니까?

lottoking 2020. 7. 17. 07:46
반응형

.bash_profile, .bashrc에 대한 정보와 메시지는 어디에 작성해야합니까? [복제]


가능한 중복 : .bashrc에, .bash_profile을 및 .environment의 차이점은 무엇입니까?

내가 사용하면

alias ls='ls -F'

Mac OS X의 .bashrc 내부에서 새로 만든 셸에는 항상이 없습니다. bash다시 입력 해야하며 해당 사항이 적용됩니다.

그리고 호스팅 회사에서 Linux에 로그인하면 .bashrc파일에 다음과 같은 주석 줄이 있습니다.

비 로그인 쉘의 경우

그리고 .bash_profile파일에는 다음과 같은 주석이 있습니다.

로그인 쉘

무엇입니까? 로그인 쉘과 비 로그인 쉘을 어떻게 분리 분리합니까?

일부 웹 페이지는 사용라고 말하지만 .bash_aliasesMac OS X에서는 작동하지 않습니다.


로그인비 로그인을 분리하는 이유 .bashrc는 새 Bash 사본을 시작할 때마다 파일이 다시로드 되기 때문 입니다. .profile파일은 하나에 로그인하거나 로그인 쉘 역할을 배쉬에게 플래그를 사용하는 경우에만로드됩니다.

몸소,

  • PATH설정을 .profile파일에 넣었습니다 (때는 다른 쉘을 사용하기 때문에).
  • Bash 내장과 함수를 .bashrc파일에 넣었습니다 .
  • 나는 그것을 넣었다

    #!/bin/bash
    #
    # CRM .bash_profile Time-stamp: "2008-12-07 19:42"
    #
    # echo "Loading ${HOME}/.bash_profile"
    source ~/.profile # get my PATH setup
    source ~/.bashrc  # get my Bash aliases
    

    .bash_profile파일에.

아, 그리고 bash새로운 .bashrc파일을 파일을 로드하기 위해 다시 시작해야하는 파일을 Bash가 입력해야 할 때 파일을 로드하지 않기 때문에 지시하지 않습니다. 다음 .bashrc을 입력 하여 파일을 다시로드 할 수 있습니다 (두 번째 셸 필요 없음).

source ~/.bashrc

.bashrc명령을 Bash에 직접 입력 한 것처럼 파일 을로드합니다 .


체크 아웃 http://mywiki.wooledge.org/DotFiles 에서 제외하고 주제에 대한 훌륭한 자료를 제공합니다 man bash.

요약 :

  • 때 한 번만 로그인, 그의 ~/.bash_profile또는 ~/.profile읽기 및 실행됩니다. 로그인 쉘에서 실행하는 모든 것이 로그인 쉘의 환경을 상속하는 모든 환경 변수 를 거기에 두어야합니다 . 마찬가지로 LESS, PATH, MANPATH, LC_*, ... 예를 들어, 참조 : 내를.profile
  • 로그인하면 몇 개의 쉘을 더 사용할 수 있습니다. bash 쉘로 몇 개의 터미널을 시작하여 X에 로그인하고 실행 중이라고 가정하십시오. 이는 로그인 쉘이 X를 시작 했음 의미하며, 이는 로그인 쉘의 환경 변수를 상속하여 터미널을 시작하고 비 로그인 bash 쉘을 시작했습니다. 환경 변수가 전체 체인에 전달 되었으나 더 이상 서명하지 않은 쉘은 없습니다. 로그인 쉘 non- 은이 정확한 이유로 또는 실행 ~/.bashrc되지 않기 때문에 bash에 적용되는에만 모든 것을 정의 합니다. 함수, 별명, HISTSIZE와 같은 bash 전용 변수 (환경 변수가 사용 내 보내지 실행!) , 을 포함하는 쉘 옵션 등이 있습니다. 예를 들면 다음을 참조하십시오./.profile~/.bash_profilesetshopt나의 .bashrc
  • 이제 유닉스 특유의 일환으로 로그인 쉘은 실행되지 않고 또는 ~/.bashrc실행 하므로 후자에서 수동으로 소스를 제공해야 우리합니다. 나도 그렇게하는 것을 보게 될 것이다 : .~/.profile~/.bash_profile~/.profilesource ~/.bashrc

bash 맨 페이지에서 :

bash가 대화식 로그인 쉘 또는 --login옵션이 있는 비 대화식 쉘로 호출 /etc/profile파일이 존재하는 경우 먼저 파일에서 명령을 읽고 실행 합니다. 해당 파일을 읽은 후, 그것은을 찾습니다 ~/.bash_profile, ~/.bash_login그리고 ~/.profile, 순서대로, 그리고 읽고 존재하고 읽을 수있는 첫 번째에서 실행하는 명령을 . --noprofile쉘이 동작을 시작할 때 사용할 수 있습니다.

bash는 파일에서 명령을 읽고 실행합니다 (있는 경우 ~/.bash_logout).

로그인 쉘이 아닌 대화식 쉘이 시작될 때 bash는 ~/.bashrc해당 파일이 존재하는 경우 명령을 실행 실행 합니다. --norc옵션 을 사용하여 금지 할 수 있습니다 . --rcfile파일 옵션을 대신 파일에서 명령을 실행하는 bash는 강제로 ~/.bashrc.

따라서 로그인 셸과 대화 형 비 로그인 셸 모두에 대해 동일한 동작을 지정하려면 모든 명령을 .bashrc또는 .bash_profile에 배치 한 다음 다른 파일 소스 를 첫 번째 로해야합니다 .


.bash_profile"로그인 쉘"에로드됩니다. OS X에서 무엇이 될지 확실하지 않지만 Linux는 X11 또는 가상 터미널입니다.

.bashrcBash를 사용할 때마다로드됩니다. 새 Terminal.app 창을 열 때마다로드하려는 항목을 배치해야합니다.

.bashrc변경 사항을 적용하기 위해 응용 프로그램을 다시 시작할 필요 가 있습니다 개인적으로 모든 것을 준비했습니다 .

참고 URL : https://stackoverflow.com/questions/902946/about-bash-profile-bashrc-and-where-should-alias-be-written-in

반응형