CentOS에서 .bash_profile을 실행하려면 어떤 파일을 편집해야 합니까?

CentOS에서 .bash_profile을 실행하려면 어떤 파일을 편집해야 합니까?

.bash_profile터미널을 그래픽으로 시작할 때 내 파일을 시작 하려면 어떤 파일을 편집해야 하는지 알고 싶습니다 .


저는 다음 운영 체제와 기본 MATE 터미널이 포함된 AWS 작업 공간을 사용하고 있습니다.

$ cat /etc/os-release

NAME="Amazon Linux"
VERSION="2"
ID="amzn"
ID_LIKE="centos rhel fedora"
VERSION_ID="2"
PRETTY_NAME="Amazon Linux 2"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2"
HOME_URL="https://amazonlinux.com/"

그 안에는 많은 파일이 있습니다 ~/etc:

bashrc
profile
/profile.d
    #lots of .sh

하지만 내 /home/<usr>디렉토리에는 다음이 있습니다.

.bashrc
.bash_profile 

^ 이 bash_profile 파일을 만들었고 터미널을 그래픽으로 실행하고 다음을 수행하면 작동합니다.$ source ~/.bash_profile


요청된 편집: 이것이 제가 입력하는 것입니다. .bash_profile각 줄의 명령 프롬프트에 색상을 지정하고 타임스탬프를 추가하고 활성화된 virtualenv를 언급합니다. 나는 그것을 바란다


# in order to be able to change the color of venv prompt
#
function virtualenv_info(){
    # Get Virtual Env
    if [[ -n "$VIRTUAL_ENV" ]]; then
        # Strip out the path and just leave the env name
        venv="${VIRTUAL_ENV##*/}"
    else
        # In case you don't have one activated
        venv=''
    fi
    [[ -n "$venv" ]] && echo "(pvenv:$venv) "
}

# disable the default virtualenv prompt change
export VIRTUAL_ENV_DISABLE_PROMPT=1

VENV="\$(virtualenv_info)";
#

git_branch() {
  git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/<b:\1>/'
}

# set the prompt color
# color starts with `\e[36m` and is closed with `\e[0m`
export PS1="\e[36m[\t] \e[38;5;203m${VENV}\e[38;5;78m\$(git_branch) \e[38;5;179m\w \e[0m☯  "

여기에 이미지 설명을 입력하세요.


해결책기본 MATE 터미널 애플리케이션에서 이 상자를 선택합니다.

요청된 편집:

답변1

이를 위해 구성 파일을 사용하지 마십시오. 대신에 변경 사항을 ~/.bashrc.

따라서 수정 사항을 삭제 ~/.profile하고 ~/.bashrc. 어떤 상황에서 어떤 파일을 읽는지에 대한 자세한 내용은 자매 사이트인 Ask Ubuntu에서 다음 답변을 참조하세요.

https://askubuntu.com/a/438170

답변2

이는 그래픽 환경(LXDM, XFCE, KDE 등)에 따라 다릅니다. 그들 중 일부는 출처가 없습니다 ~/.bash_profile.

사용해야 할 이유가 있는 경우(예: 호환성 이유) 시스템에 설치할 수 있습니다 ( 기본 셸로 ~/.bashrc사용할 것이라는 기대와 함께 ).bash

echo "source ~/.bash_profile" >> ~/.bashrc

이 접근 방식에는 몇 가지 단점이 있습니다.

  • 대화형 로그인 셸을 통해서만 얻을 수 있습니다.
  • 다른 그래픽 프로그램은 동일한 환경을 갖지 않습니다.

귀하의 설정에 적합한 것을 사용하는 것이 좋습니다.

  1. 사용/etc/profile
    • 이것은 글로벌합니다.
    • 모든 사용자에게 영향을 미칩니다.
    • 단점: 아주 일찍 획득하기 때문에 더 쉽게 재정의할 수 있습니다(그러나 실제로는 이런 일을 경험한 적이 없습니다. 그러나 일부 데스크탑 환경이나 유사한 환경은 고유한 환경을 설정하고 재정의합니다.오래된).
  2. 데스크탑 환경의 동작을 확인하십시오. 예를 들어 LXDM은 (대신 ~/.bash_profile) 다음을 얻습니다.

    /etc/profile
    ~/.profile
    /etc/xprofile
    ~/.xprofile
    

인용하다:

편집하다:

귀하의 편집에 대한 응답: 예상대로 컴패니언은 ~/bash_profile기본적으로 소스를 제공하지 않습니다.

디자인 결정에 관한 것입니다(최근 댓글에서 이에 대해 질문하셨기 때문입니다). 일반적으로 etc.에서는 환경 변수만 설정하는데 ~/.bash_profile/etc/profile스크립트를 ~/.bashrc.

당신이하고있는 일은 매우 쉘에 따라 다릅니다. .~/.bashrc

둘 이상의 셸을 사용하는 경우 이를 다른 파일로 분할할 수 있습니다. 예를 들어, VIRTUAL_ENV_DISABLE_PROMPT내부 환경 파일(예: )을 정의하면 /etc/profile이 함수를 사용하여 새 bash 스크립트를 생성하고 virtualenv_info()필요한 쉘 환경에서만 스크립트를 가져옵니다. 이것은 깨끗한 솔루션이 될 수 있지만 전체 스크립트를 ~/.bashrc.

관련 정보